首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

perl使用Net:Telnet模块的cmd函数远程执行某命令时,怎么实时显示返回的信息

2012-02-24 
perl使用Net::Telnet模块的cmd函数远程执行某命令时,如何实时显示返回的信息perl的Net::Telnet模块远程执

perl使用Net::Telnet模块的cmd函数远程执行某命令时,如何实时显示返回的信息
perl的Net::Telnet模块远程执行命令时,需要等结束时,才一次性打印所有的返回信息,
但我调用的远程命令可能执行的时间比较长,希望使用telnet执行的远程命令时,
其返回的信息能实时的打印在屏幕上。

不知道有没有兄弟实现过这个呢??说一下思路,或者有别的模块能实现这个功能也行,推荐一下,呵呵!!~

[解决办法]

Perl code
use strict;use warnings;use Net::Telnet;my $tnet=new Net::Telnet('Host'=>'127.0.0.1','Timeout'=>3,'Dump_Log'=>'test.log');$tnet->waitfor('Match'=>"/login:/");$tnet->print("fibbery");$tnet->waitfor('Match'=>"/password:/");$tnet->print("password");$tnet->waitfor('/\>/');$tnet->print("dir");$tnet->errmode("return");while(my $data=$tnet->get('Timeout'=>9999999))#设置一个合适的超时,不至于使程序没运行结束而终止等待{    print($data);    if($data=~/fibbery\>/)#此处判断何时程序运行结束    {        last;    }}$tnet->print("exit");$tnet->close(); 

热点排行