Модераторы: korob2001, ginnie

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ip2country 
:(
    Опции темы
dixoNICH
Дата 10.9.2011, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 222
Регистрация: 20.3.2011

Репутация: нет
Всего: нет



отправляю айпи на сервер, получаю в ответ лишь "% This is the RIPE Database query service."
понимаю, что с перлом мало, что связано, но пишу именно на перле smile
PM MAIL   Вверх
arto
Дата 11.9.2011, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1495
Регистрация: 31.10.2004

Репутация: 38
Всего: 40



абсолютно непонятная фраза
PM MAIL ICQ   Вверх
dixoNICH
Дата 11.9.2011, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 222
Регистрация: 20.3.2011

Репутация: нет
Всего: нет



какая именно?
отправляю на whois.rip.net, например, айпи, в ответ не получаю информацию об этом айпи, а получаю лишь приветствие от сервера.
PM MAIL   Вверх
vadiml
Дата 11.9.2011, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 310
Регистрация: 27.7.2007

Репутация: 5
Всего: 7



whois.rip.net отвечает только на имена доменов, а не ip
=======
telnet whois.ripn.net 43
Trying 212.193.111.1...
Connected to whois.ripn.net.
Escape character is '^]'.
qq.ru
% By submitting a query to RIPN's Whois Service
% you agree to abide by the following terms of use:
% http://www.ripn.net/about/servpol.html#3.2 (in Russian) 
% http://www.ripn.net/about/en/servpol.html#3.2 (in English).

domain:     QQ.RU
nserver:    ns1.dsredirection.com.
nserver:    ns2.dsredirection.com.
state:      REGISTERED, DELEGATED, VERIFIED
org:        LTD "NETEX GALAXY"
phone:      +371 26778964
e-mail:     [email protected]
registrar:  RU-CENTER-REG-RIPN
created:    1999.08.10
paid-till:  2012.09.01
source:     TCI

Last updated on 2011.09.11 14:40:46 MSK/MSD

Connection closed by foreign host.
========

А ответы по IP отдаёт например NSI registry


PM MAIL Jabber   Вверх
dixoNICH
Дата 11.9.2011, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 222
Регистрация: 20.3.2011

Репутация: нет
Всего: нет



Код

use strict;
use IO::Socket::INET; 
my ($socket,$host, $port, $ip, $hi;
eval {
$socket =   IO::Socket::INET->new (
                    PeerAddr => "whois.RIPE.net",
                    PeerPort => 43,
                    Proto => "tcp",
                    Type => SOCK_STREAM)
                    or die "Can't connect to $host:$port\n"; };
my $hi = <$socket>;
print $socket "vk.com";
print $hi;

в общем, чтобы я не отправлял, ответ один и тот же - приветствие
PM MAIL   Вверх
vadiml
Дата 11.9.2011, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 310
Регистрация: 27.7.2007

Репутация: 5
Всего: 7



http://cpansearch.perl.org/src/DESPAIR/Net...et/Whois/Raw.pm

Смотрите функцию whois_query(), в  т.ч.  особенно 
while (my $str = <$sock>) {


Это сообщение отредактировал(а) vadiml - 11.9.2011, 15:28
PM MAIL Jabber   Вверх
dixoNICH
Дата 11.9.2011, 17:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 222
Регистрация: 20.3.2011

Репутация: нет
Всего: нет



там используются модули сторонние smile
PM MAIL   Вверх
vadiml
Дата 11.9.2011, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 310
Регистрация: 27.7.2007

Репутация: 5
Всего: 7



Да, IO::Socket::INET, как и у Вас.

Я Вам не зря говорил обратить внимание на while.

Вот рабочий вариант Вашего примера:
Код

#!/usr/bin/perl -w

use strict;
use IO::Socket::INET; 
my $socket;
my $host = "whois.ripn.net";
my $port = 43;
my @lines;
eval {
    $socket =   IO::Socket::INET->new ( 
    PeerAddr => $host,
    PeerPort => $port,
    )
    or die "Can't connect to $host:$port\n"; 

    $socket->print( "qq.ru\r\n" );

    while  ( my $str = <$socket> ) {
    print $str;
    }

    $socket->close;
};


> в общем, чтобы я не отправлял, ответ один и тот же - приветствие 

т.к. это первая строка.

PM MAIL Jabber   Вверх
dixoNICH
Дата 11.9.2011, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 222
Регистрация: 20.3.2011

Репутация: нет
Всего: нет



спасибо! вопрос : для чего eval?
и почему в $1 ничего не лежит?
Код

use IO::Socket::INET; 
my ($port, $socket, $f, $inf) = 43;
my @servers = ('ARIN', 'APNIC', 'LACNIC', 'RIPE');
for my $host(@servers) {
    eval {
         $socket =   IO::Socket::INET->new ( 
         PeerAddr => "whois.$host.net",
         PeerPort => $port,
         ) or die "Can't connect to whois.$serv.net\n"; 
        $socket->print( "87.240.188.250\r\n" );
        $inf .= $f while $f = <$socket>;
        $socket->close;
    };
}
$inf = ~/country:\s*(.*)/;
print $1;


PM MAIL   Вверх
vadiml
Дата 11.9.2011, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 310
Регистрация: 27.7.2007

Репутация: 5
Всего: 7



> для чего eval?

Для timeout, я там забыл дописать alarm дописать, посмотри в модуле по ссылке

> почему в $1 ничего не лежит?

Поробуйте вместо
$inf = ~//
написать
$inf =~ //


И ещё, в Вашем последнем скрипте замените $serv на $host, если вначале файла допишите
#!/usr/bin/perl
или ниже
use warning;

То Вам напишет:
Name "main::serv" used only once: possible typo at script_name.pl line 12.

Это сообщение отредактировал(а) vadiml - 11.9.2011, 21:12
PM MAIL Jabber   Вверх
dixoNICH
Дата 11.9.2011, 21:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 222
Регистрация: 20.3.2011

Репутация: нет
Всего: нет



Use of uninitialized value $1 in print at ip2c.pl line 18.

выдаёт ошибку.
PM MAIL   Вверх
dixoNICH
Дата 12.9.2011, 19:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 222
Регистрация: 20.3.2011

Репутация: нет
Всего: нет



разобрался, выводит AU.
но, данный айпи (87.240.188.250) - это вконтакт. почему AU?
Код

use IO::Socket::INET; 
use strict;
use warnings;
my ($port, $timeout, $socket, $f, $inf, $ip, $bool) = (43, 2);
$ip = $ARGV[0];
die "Wrong IP Address !!!"unless$ip =~/\d+\.\d+\.\d+\.\d+/;
my @servers = ('ARIN', 'APNIC', 'LACNIC', 'RIPE');
for my $host(@servers) {
    eval {
    local $SIG{ALRM} = sub{die "alarm\n";};
    alarm $timeout;
    $socket =   IO::Socket::INET->new ( 
                    PeerAddr => "whois.$host.net",
                    PeerPort => $port,
    ) or die "Can't connect to whois.$host.net\n"; 
        $socket->print( "87.240.188.250\r\n" );
        $inf .= $f while $f = <$socket>;
        $socket->close;
    };
    alarm 0;
}
if($@) {die unless $@ eq "alarm\n";}
#print$inf;
$inf =~/country:\s+(\w\w)\nadmin-c/s;print$1;

PM MAIL   Вверх
arto
Дата 13.9.2011, 07:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1495
Регистрация: 31.10.2004

Репутация: 38
Всего: 40



потому что читать надо все:

inetnum:      87.0.0.0 - 87.255.255.255
netname:      RIPE-CIDR-BLOCK
descr:        Not allocated by APNIC

PM MAIL ICQ   Вверх
dixoNICH
Дата 13.9.2011, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 222
Регистрация: 20.3.2011

Репутация: нет
Всего: нет



да, я уже заметил smile а как мне определять страну для хоста, который я хочу, а не страну whois сервера? 
PM MAIL   Вверх
arto
Дата 13.9.2011, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1495
Регистрация: 31.10.2004

Репутация: 38
Всего: 40



либо использовать netname, либо лезть в http://www.iana.org/assignments/ipv4-address-space, либо использовать конфигурацию из jwhois.
PM MAIL ICQ   Вверх
dixoNICH
Дата 14.9.2011, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 222
Регистрация: 20.3.2011

Репутация: нет
Всего: нет



теперь пытаюсь исключать AU, но, как-то не очень получается. нуждаюсь в Вашей помощи smile
Код

use IO::Socket::INET; 
use strict;
use warnings;
use Getopt::Long;
print "command : -help\n";
my ($port, $timeout, $socket, $f, $inf, $ip, $bool, $flag) = (43, 2);
GetOptions('help' => \$flag);
sub help {
    return "Help :: First argument - IP Address\n";
}
print &help if $flag;
sleep 2;
$ip = $ARGV[0];
die "Wrong IP Address !!!"unless$ip =~/\d+\.\d+\.\d+\.\d+/;
my @servers = ('ARIN', 'APNIC', 'LACNIC', 'RIPE');
for my $host(@servers) {
    eval {
    local $SIG{ALRM} = sub{die "alarm\n";};
    alarm $timeout;
    $socket =   IO::Socket::INET->new ( 
                    PeerAddr => "whois.$host.net",
                    PeerPort => $port,
    ) or die "Can't connect to whois.$host.net\n"; 
        $socket->print( "$ip\r\n" );
         while ($f = <$socket>){
            if($f =~/^inetnum:\s*(0\.){3}0\s-\s(255\.){3}255/i ||
                $f =~/^descr:\s*various registries/i ||
                $f =~/^descr:\s*.*?not allocated .. apnic/i ||
                $f =~/^descr:\s*early registration addresses/ix) {print "$host : There is no ip in Database"} 
            elsif($f =~/^country:\s+(\w\w)/s) {print$1}
        }
        $socket->close;
    };
    alarm 0;
}
if($@) {die unless $@ eq "alarm\n";}

PM MAIL   Вверх
dixoNICH
Дата 18.9.2011, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 222
Регистрация: 20.3.2011

Репутация: нет
Всего: нет



Ап ))))))))))))
PM MAIL   Вверх
ginnie
Дата 20.9.2011, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1287
Регистрация: 6.1.2008
Где: Москва

Репутация: 38
Всего: 49



Уважаемый dixoNICH, можно попробовать воспользоваться геобазой проекта http://www.wipmania.com. Можно использовать их API, а можно сделать локальный поиск (берите данные в SQL-формате, загружайте в базу, далее преобразуете свой IP в int и ищете по базе  страну). 


--------------------
Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг)
PM MAIL Skype Jabber   Вверх
dixoNICH
Дата 27.9.2011, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 222
Регистрация: 20.3.2011

Репутация: нет
Всего: нет



Спасибо. Решил свою проблему с помощью http://www.iana.org/assignments/ipv4-addre...dress-space.xml
PM MAIL   Вверх
dixoNICH
Дата 28.9.2011, 15:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 222
Регистрация: 20.3.2011

Репутация: нет
Всего: нет



Появилась небольшая проблема smile В функции прог в куске
while (<$socket>){
    $f .= $_;
    /^country:\s*(\w+)$/i;
    $country = $countrytable{$1};
}
Когда передаю в качестве аргумента 200.200.200.200 в country ничего не ловится, если вводить 100.100.100.100 то всё ок.
Выводил просто всё, что мне отсылает сервер, там есть строчка country:        BR, но почему не парсится?
Запуск программы : -all выдаст всё, что пришло с сервера, -c страну, -prog страну, статус, дату и обозначение. 
Прошу помощи. Всё в архиве  smile
Код

###################################################################################
# %iana (ключ — первый октет ip-адреса, значение — адрес регистратора)                 #
# %countrytable (ключ — двухбуквенное наименование страны, значение — расшифровка)#
# %fail (ключ — первый октет ip-адреса, значение — обозначение)                         #
###################################################################################
use IO::Socket::INET; 
use Getopt::Long;
use strict;
my ($port, $timeout, $socket, $ip, $flag, $flag1, $flag2, $flag3, $host, %iana, %countrytable, %fail, $country, @arr, $f) = (43, 4);
GetOptions('help' => \$flag, 'prog' =>\$flag1, 'all' => \$flag2, 'country' => \$flag3); # возможен запуск программы с ключом -help 
print &help if $flag;
&prog if $flag1;
if ($flag3) {
    open SAVEOUT, ">&STDOUT";
    close STDOUT;
    @arr = &prog;
    open STDOUT, ">&SAVEOUT";
    print STDOUT "COUNTRY ::: $arr[0]";
}
if ($flag2) {
    open SAVEOUT, ">&STDOUT";
    close STDOUT;
    @arr = &prog;
    open STDOUT, ">&SAVEOUT";
    print STDOUT "::::::::::::::::::  ALL ::::::::::::::::::  \n\n$arr[1]";
}
sub prog() {
    open C, "countrytable.txt"; 
    open I, "iana.txt";
    while(<C>) { # Заполнение хеша %countrytable
        chomp;
        /(\w+)\s{3}(.*)/s;
        $countrytable{$1} = $2;
    } 
    close C;    
    while(<I>) { # Заполнение хешей %iana и %fail
        chomp;
        /(\d{1,3})\/8\s{2}(.*)\s+(\d{4}-\d{2})\s{2}((?:whois\..*\.net)|b)\s*(\w+)/s;
        $iana{$1} = $4; 
        $fail{$1} = "DESIGNATION ::: $2\nDATE ::: $3\nSTATUS ::: $5";
    }
    $ip = $ARGV[0];
    die "Wrong IP Address !!!" unless $ip =~/^(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)\.
                                                            (25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)\.
                                                            (25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)\.
                                                            (25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)$/x; # проверяем корректность ввода ip-адреса
    $host = $iana{$1}; 
    if($host ne 'b'){ 
        eval {
            local $SIG{ALRM} = sub{die "alarm\n";};
            alarm $timeout;
            $socket =   IO::Socket::INET->new ( 
                            PeerAddr => "$host",
                            PeerPort => $port,
            ) or die "Can't connect to $host\n"; 
            $socket->print("$ip\r\n");
            while (<$socket>){
                $f .= $_;
                /^country:\s*(\w+)$/i;
                $country = $countrytable{$1};
            }
            $arr[0] = $country;
            $arr[1] = $f;
            print "COUNTRY :::  $country\n" if $country ne '';
            print "$fail{$1}";
            $socket->close;
        };
            alarm 0;
        if($@) {die unless $@ eq "alarm\n";}
    }
    else {
        print "In this there is no corresponding IP whois server!\n$fail{$1}";
    }
return @arr;
}
sub help {
    return "Help :: First argument - IP Address\nip2c.pl -prog ip-addr \nip2c.pl -all ip-addr\nip2c.pl -country ip-addr";
}



Присоединённый файл ( Кол-во скачиваний: 1 )
Присоединённый файл  ip2crar.rar 5,57 Kb
PM MAIL   Вверх
ginnie
Дата 28.9.2011, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1287
Регистрация: 6.1.2008
Где: Москва

Репутация: 38
Всего: 49



dixoNICH, а закрытием STDOUT Вы отключаете отладочный вывод, я правильно понял? Очень оригинально!

Добавлено @ 15:58
По поводу проблемы с регулярным выражением почитайте в perldoc perlre про модификатор m

Это сообщение отредактировал(а) ginnie - 28.9.2011, 15:59


--------------------
Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг)
PM MAIL Skype Jabber   Вверх
dixoNICH
Дата 28.9.2011, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 222
Регистрация: 20.3.2011

Репутация: нет
Всего: нет



нет, почему? ) у меня в функции выводится 4 поля, функция возвращает массив. в этом массиве 0-ой и 1-ый элемент — два поля из этих четырёх. 
если я делаю так : @arr = prog(); то вызовется функция и выдаст на экран мне эти четыре поля, что мне не надо, по-этому я закрываю стдин.
а чем мне поможет m? если у меня во всех тестируемых случаях работает регвыр, кроме вот 200.200.200.200(или 201 последний октет или 202 etc)
PM MAIL   Вверх
ginnie
Дата 28.9.2011, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1287
Регистрация: 6.1.2008
Где: Москва

Репутация: 38
Всего: 49



Да, по поводу m я был не прав!


--------------------
Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг)
PM MAIL Skype Jabber   Вверх
arto
Дата 28.9.2011, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1495
Регистрация: 31.10.2004

Репутация: 38
Всего: 40



# whois 200.200.200.200 | perl -lne 'm#^country:\s*(\w+)#im && print $1'
BR
# 
PM MAIL ICQ   Вверх
ginnie
Дата 28.9.2011, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1287
Регистрация: 6.1.2008
Где: Москва

Репутация: 38
Всего: 49



В ответах whois-серверов строки оканчиваются по-разному, некоторые на \n, а некоторые на \r\n.


--------------------
Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг)
PM MAIL Skype Jabber   Вверх
dixoNICH
Дата 28.9.2011, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 222
Регистрация: 20.3.2011

Репутация: нет
Всего: нет



заработало, когда убрал в конце $ 
спасибо, arto.

Добавлено через 10 минут и 49 секунд
ещё один трабл : отправляю на сервер ещё одно сообщение
когда отправляю 2-ой раз и пытаюсь получить всё, то ничего не приходит. и просто $_ во втором вайле не выводится(
Код

$socket->print("$ip\r\n");
            while (<$socket>){
                $f .= $_;
                /^country:\s*(\w+)/im;
                $country = $countrytable{$1};
                /\((NET.*)\)/msi; 
                $wtf = $1;
            }
            if($country eq '') {
                $socket->print("$wtf\r\n"); 
                while(<$socket>) {
                    /^country:\s*(\w+)/im;
                    $country = $countrytable{$1};
                }
            }

PM MAIL   Вверх
dixoNICH
Дата 28.9.2011, 17:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 222
Регистрация: 20.3.2011

Репутация: нет
Всего: нет



всё понял, забыл закрыть и открыть сокет)
PM MAIL   Вверх
ginnie
Дата 28.9.2011, 17:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1287
Регистрация: 6.1.2008
Где: Москва

Репутация: 38
Всего: 49



dixoNICH, а не лучше ли писать так:

Код

$country = $countrytable{$1} if (/^country:\s*(\w+)/im);
$wtf = $1 if (/\((NET.*)\)/msi);


Кстати m в регулярках не нужно, т.к. в $_ всегда одна строка (чтение построчное).


--------------------
Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг)
PM MAIL Skype Jabber   Вверх
dixoNICH
Дата 28.9.2011, 18:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 222
Регистрация: 20.3.2011

Репутация: нет
Всего: нет



Может быть лучше smile Ну, вроде бы мой вариант заработал, так что не буду исправлять smile
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0725 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.