首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Perl telnet登录

Perl telnet登录
EN

Stack Overflow用户
提问于 2012-07-30 07:42:33
回答 1查看 844关注 0票数 1

$remote--等待(‘/Logoff/’);

有时我会出错,说服务器不可用时模式匹配超时。我想处理这个错误。每当出现此错误时,我想让我的脚本休眠1分钟,并尝试重新登录。

我试过这样的方法:

代码语言:javascript
复制
  if($remote->waitfor('/Logoff/')) 
   {
     #proceed login perform intended operations.
   }
   else
   {
      sleep(60);#control is not coming here. returning pattern match timed-out error.
   }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-30 08:37:47

大多数"Net::Telnet“方法处理错误的方式是由"errmode”选项定义的。

这当然包括waitfor方法和超时错误。默认的"errmode“行为是”死“,这意味着您的waitfor调用将不返回任何内容,也不会返回任何位置。

要具有要检查的值,需要将"errmode“设置为”返回“:

代码语言:javascript
复制
 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“选项设置匹配模式。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11717246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档