Страница 1 из 1

perl

СообщениеДобавлено: 27 окт 2005, 08:49
Орлов Алексей
Коллеги есть вопросик по perl. Сам я знаток никакой, но решил слабать маленький скриптик, который бы пингвал тачку. Порыдся на томе sys, в папке perl нашел примеры на тему ping
создал текстовый фал Ping.pl , бросил его в perl\scripts. Содержание файла такое
#!/usr/bin/perl -w
$p = Net::Ping->new();
$host=192.168.133.1;
print "$host is alive.\n" if $p->ping($host);
$p->close();

но при запуске он мне пишет press any key

Я так понимаю, что если хост недоступен, он должен написать $host is alive
а если доступен, то any key, почему не работает????
Поставил $host="192.168.133.1";
Стал писать:
The alarm function is unimplemented at sys:\perl\lib/Net/Ping.pm line 485.


Press any key to exit

Зарнее спасибо за помощь.

СообщениеДобавлено: 27 окт 2005, 10:26
Ковалев Артем
Работающий вариант, правда, на нормальном перл (на FreeBSD). Не знаю, насколько перл на нетваре ему соответствует.
Код: Выделить всё
#!/usr/bin/perl -w
use Net::Ping;

$p = Net::Ping->new();
$host="10.11.6.102";

if ($p->ping($host)) { print "$host is alive.\n";}
else {print "$host is dead.\n";}
$p->close();

Айпишник, извините, мой. :D

ответ

СообщениеДобавлено: 27 окт 2005, 10:28
Орлов Алексей
Та же ошибка
Стал писать:
The alarm function is unimplemented at sys:\perl\lib/Net/Ping.pm line 485.

а вот если писать
то всё ок
#!/usr/bin/perl

use Net::Ping;

$host = '192.168.139.100';

$p = Net::Ping->new('icmp');

if ($p->ping($host)) {
print '$host is alive.\n';
} else {
print '$host is no.\n';
}
exit;

Дело в icmp :)