错误:“全局符号”$ ipn“需要在perl.pl第66行显式包名。全局符号”$ sizen“需要在perl.pl第76行显式包名。由于编译错误,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);
答案 0 :(得分:9)
您已启用strict(这总是一个好主意)。它抱怨这些电话:
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
无法判断是否存在问题。