나는 잠시 동안이 perl 문제를 디버깅하려했지만 머리를 맞지 않았다. 내가하려고하는 것은 연결이 socks4/5 연결 인 경우에 determain입니다. (내가 추가하거나 @ $를 죽기 전에, 마지막에)Perl 소켓 연결 확인
# ./pctest.pl
Name "main::junk" used only once: possible typo at ./pctest.pl line 60.
Name "main::empty" used only once: possible typo at ./pctest.pl line 60.
IO::Socket::INET: Bad hostname 'C1(X' ...propagated at ./pctest.pl line 52.
나는 또한이 오류를 했어 :
Can't use an undefined value as a symbol reference at ./pctest.pl line 56.
합니다.
...
$look = IO::Socket::INET->new(PeerAddr => $_, Proto => 'tcp', Timeout => 5) or die @$;
$sock4 = pack("CCS", 4, 1, 80);
print $look $sock4;
read($look, $recv, 10);
($empty, $granted, $junk) = unpack("C C C6", $recv);
if($granted == 0x5A)
{
print " Yes\n";
}
else
{
print " No\n";
}
...
+1은 'eval' 구조를 언급합니다. 나는 그 대답을 잊어 버렸다. –
아, goreSplatter가 말한 것에 대한 대안으로, (undef, $ granted) = unpack ("C C C6", $ recv)을 사용할 수도 있습니다. – dams