$remote--等待(‘/Logoff/’);
有时我会出错,说服务器不可用时模式匹配超时。我想处理这个错误。每当出现此错误时,我想让我的脚本休眠1分钟,并尝试重新登录。
我试过这样的方法:
if($remote->waitfor('/Logoff/'))
{
#proceed login perform intended operations.
}
else
{
sleep(60);#control is not coming here. returning pattern match timed-out error.
}发布于 2012-07-30 08:37:47
大多数"Net::Telnet“方法处理错误的方式是由"errmode”选项定义的。
这当然包括waitfor方法和超时错误。默认的"errmode“行为是”死“,这意味着您的waitfor调用将不返回任何内容,也不会返回任何位置。
要具有要检查的值,需要将"errmode“设置为”返回“:
if($remote->waitfor( -match => '/Logoff/', -errmode => 'return' ))
{
#proceed login perform intended operations.
}
else
{
sleep(60); #returning pattern match timed-out error (or something else).
}注意:在为waitfor指定其他选项时,需要通过" match“选项设置匹配模式。
https://stackoverflow.com/questions/11717246
复制相似问题