首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Perl::Appliance::会话等待?

Perl::Appliance::会话等待?
EN

Stack Overflow用户
提问于 2012-09-04 12:51:55
回答 1查看 833关注 0票数 1

我对Net::Appliance::Session有一个问题。我创建了一个会话,执行我的命令。执行后,我会问一些问题(是/否)。我想回答这个问题,但却没有找到解决办法。下面你可以看到我的考验:

代码语言:javascript
复制
$session->cmd($command);
$session->waitfor(Match=>'/.*yes*/');
$session->print("no");
$session->waitfor(Match=>'');
$session->print("y");

我不知道问题出在哪里。编码到CPAN文档网::Telnet有方法等待。但是会话文档告诉我们可以使用waitfor()。另一种说法是,方法"cmd“有一个成员匹配,其中包含了waitfor()的所有特性。因此,我修改了代码如下:

代码语言:javascript
复制
$session->cmd($command, Match=>'/.*yes*/');
$session->print("no");

在错误下面执行此报告:

在/usr/lib/perl5/vendor_perl/5.8.8/Net/Appliance/Session.pm第245行哈希赋值中的奇数元素。

你知道我该怎么做吗?为什么我会收到这条错误信息?

提前谢谢..。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-04 16:41:07

来自Net::Appliance::Session页面的meta::cpan

要处理更复杂的交互,例如提示确认或可选参数的命令,您应该使用宏。它们是在短语簿中设置的,并通过$s->macro($name)方法调用发布。有关详细信息,请参阅用语手册烹饪书手册页。

因此,您可以在短语簿中设置宏(脚本调用和响应),然后告诉会话使用该宏。

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

https://stackoverflow.com/questions/12263883

复制
相关文章

相似问题

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