Здравствуйте. Пишу я всякие разные скрипты на перле, но вот возникла проблема нужен скрипт whois (узнает есть такой домен или нет, если есть выводит информацию). Решил я посмотреть несколько примеров написания таких скриптов, для начала узнал существует ли модуль такой у перла, оказалось есть Net::Whois синтаксис такой:use Net::Whois; use Carp;
my $w = new Net::Whois::Domain $dom
or die "Can't connect to Whois server\n";unless ($w->ok) { croak "No match for $dom";}
print "Domain: ", $w->domain, "\n";
print "Name: ", $w->name, "\n";
print "Tag: ", $w->tag, "\n";
print "Address:\n", map { " $_\n" } $w->address;
print "Country: ", $w->country, "\n";
print "Name Servers:\n", map { " $$_[0] ($$_[1])\n" }
@{$w->servers};
my ($c, $t);
if ($c = $w->contacts) {
print "Contacts:\n";
for $t (sort keys %$c) {
print " $t:\n";
print map { "\t$_\n" } @{$$c{$t}};
}
}
print "Record created:", $w->record_created ;
print "Record updated:", $w->record_updated ;Подогнал под себя, скрипт в эррор, почитал еще инфы, оказывается нужно открыть 43 порт (фаер стоит на сервере), эррор пропал, он чето делает, но данных не возвращает. Качал скрипты готовые тот же эффект, нет эррора, но и данных.
Кто может подсказать где грабли, мне кажется что фаер что то блочит?
Пример не надо тупо копировать, его сначала разобрать следует. Откуда перл должен по-вашему взять значение переменной $dom в этой строке:
my $w = new Net::Whois::Domain $dom
>[оверквотинг удален]
> }
> print "Record created:", $w->record_created ;
> print "Record updated:", $w->record_updated ;
>
>Подогнал под себя, скрипт в эррор, почитал еще инфы, оказывается нужно открыть
>43 порт (фаер стоит на сервере), эррор пропал, он чето делает,
>но данных не возвращает. Качал скрипты готовые тот же эффект, нет
>эррора, но и данных.
>Кто может подсказать где грабли, мне кажется что фаер что то блочит?
>Спасибо за ответ, но перл я знаю не первый год и ваше замечание по поводу где берется переменная не уместна. Также отпадает варианты по поводу вывода на экран.
а что такое whois сервер Вы знаете?