Глобальный символ требует ошибки имени пакета в скрипте Perl - PullRequest
0 голосов
/ 04 июня 2011

Ошибка : "Глобальный символ" $ ipn "требует явного имени пакета в строке 66 perl.pl. Глобальный символ" $ sizen "требует явного имени пакета в строке 76 perl.pl perl.pl прервана из-за ошибок компиляции. "

$iaddr = inet_aton("$ip") or die "Cannot resolve hostname $ipn";
$endtime = time() + ($time ? $time : 1000000);
socket(flood, PF_INET, SOCK_DGRAM, 17);

print "Flooding $ip " . ($port ? $port : "random") . " port with " . 
($size ? "$size-byte" : "random size") . " packets" . ($time ? " for $time seconds" : "") . "n";
print "Interpacket delay $delay msecn" if $delay;
print "total IP bandwidth $bw kbpsn" if $bw;
print "Break with Ctrl-Cn" unless $time;

die "Invalid packet size requested: $sizen" if $size && ($size < 64 || $size > 1500);

1 Ответ

9 голосов
/ 04 июня 2011

У вас строгий включен (что всегда хорошая идея). Жалуется на эти звонки:

die "Cannot resolve hostname $ipn";
die "Invalid packet size requested: $sizen" 

потому что вы не объявили переменные с именами $ipn или $sizen. Вы имели в виду:

die "Cannot resolve hostname $ip\n";
die "Invalid packet size requested: $size\n"

Если так, то strict делал свою работу и ловил вашу ошибку. У вас есть другие строки, заканчивающиеся на ...n", которые, вероятно, должны были быть ...\n", но, поскольку они не являются ссылками на переменные, strict не может сказать, что есть проблема.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...