perl用超时替换“或死”,然后再试一次

时间:2013-04-17 15:27:05

标签: perl sockets networking

有人可以帮我修改这一行吗?

$MySocket=new IO::Socket::INET->new(PeerPort=>$port,Proto=>'tcp',PeerAddr=>$IP) or die $E;

我需要更改它,以便在失败时超时10秒再试3次或死亡。

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

一种方式:

my $fails = 0;
while (!($MySocket=new IO::Socket::INET->new(
        PeerPort=>$port,Proto=>'tcp',PeerAddr=>$IP))) {
    die ($E) if ++$fails ==  3;  
    sleep(10);
}