perl5.6和perl5.8是不是在这里做了改动

perl5.6和perl5.8是不是在这里做了改动

perl5.6和perl5.8是不是在这里做了改动
[quote]#!/usr/bin/perl -w

use Socket;

#my $ARGC=@ARGV;
#if($ARGC!=1){print "\nUsage:$0 TargetIP\n";exit;}

my $host="xxx.xxx.xxx.xxx";
print "Sending...\n";

my $req="GET / HTTP/1.1"."host:iis-server\n\n";

my @res=sendraw($req);

print "@res";


sub sendraw {
my ($req2) = @_;
my $target;
$target = inet_aton($host) or die "\ninet_aton problems";
socket(Handle,PF_INET,SOCK_STREAM,getprotobyname('tcp')||0) or die "\nSocket problems\n";
if(connect(Handle,pack "SnA4x8",2,80,$target)){
select(Handle);
$| = 1;
print $req2;
my @res2 = <Handle>;
select(STDOUT);
close(Handle);
return @res2;
}
else {
die("\nCan't connect to $host:80...\n");
}
}[/quote]

我记得这段代码以前在5.6正常啊,但现在用5.8.6时shift就不管用了,也返回不了正常的信息,换成了5.8.0也同样
是不是perl中作了改动,还是我记错了,是这段代码有问题?
多谢了
你的代码里什么地方有shif.
你的代码里什么地方有shift?!
本来这里$host是用shift取.
本来这里$host是用shift取得的,先mark了
shift的问题在这里是次要的,首要的问题是上面那段代码不能返回正常结果,总是404error,不能GET期望字符
看不到?.