私はこの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