模式匹配超时

时间:2013-08-22 22:14:41

标签: regex perl telnet

我使用Perl Net :: telnet连接到我的路由器并更改了一些选项,但是我收到了这个错误:

  

模式匹配超时

每件事都是真的(用户,传递,模式等),我为这个错误的来源而疯狂。我的代码是:

use Net::Telnet;
$telnet = new Net::Telnet ( Timeout=>10, Errmode=>'die');
$telnet->open('192.168.1.1');
$telnet->waitfor('/login[: ]$/i');
$telnet->print('admin');
$telnet->waitfor('/password[: ]$/i');
$telnet->print('admin');
$telnet->waitfor('/\$ $/i' );
$telnet->print('list');
$output = $telnet->waitfor('/\$ $/i');
print $output;

我现在该怎么办?还有其他方法吗? 谢谢

1 个答案:

答案 0 :(得分:0)

也许尝试使用Net::Telnet页面顶部的示例登录?

use Net::Telnet ();
$t = new Net::Telnet (Timeout => 10, Errmode=>'die');
$t->open($host);
$t->login($username, $passwd);
@lines = $t->cmd("who");
print @lines;

这似乎对我有用。虽然您的代码段在尝试登录的第一个waitfor时超时。