考虑以下Perl脚本片段:
use IO::Socket; # ... my $sock = IO::Socket::INET->new( PeerAddr => $host,# e.g. "google.com" PeerPort => $port,# e.g. 80 Proto => 'tcp' ); die("no socket: $!") unless $sock; # ...
在正常情况下,一切都按预期工作,但当主机系统的互联网连接处于非活动状态时,“sock”变量为空且$!有消息“无效的参数”.
我不恰当地使用INET构造函数还是预期的行为?如果是后者,有没有办法区分“网络接口不活动”错误和构造函数方法的真正无效参数?