好像Term::** 管这个 事情的, 可以查下
2009/8/4 Alex.Lee <[email protected]> > > 各位同行: > 你们好,我在用perl写一个程序,telnet到某个终端,然后在该终端运行某个命令,并把命令运行的结果print到本机日志 > telnet_input.log中去,但是由于该命令是读终端数据库,返回的数据每行默认不能超过80个字符。导致print回来的日志发生了自动 > 行,导致读日志数据很不方便,还得人工处理换行。不知道各位同仁有没有谁知道在用NET::telnet模块的时候,怎样设置返回字符的长度?我看了 > NET::telnet.pm模块,里面确实有控制返回字符长度的sub TELOPT_NAMS ()方法,但是其内容是空的。是不是perl5还不 > 支持telnet的窗口调整? > 我写的源代码如下,恳请高手不吝赐教! > > > use strict; > use Net::Telnet (); > my $ip = '**.***.**.**'; > my $user = '**'; > my $passwd = '****'; > my $telnet = new Net::Telnet (Timeout => 10, > Prompt =>'/[\$%#><:]\s*$/'); > $telnet->open( Host=>$ip, > Timeout => 30); > $telnet->login( Name=>$user, > Password=>$passwd, > Timeout => 30); > $telnet->input_log("/test.perl/telnet_input.log"); > $telnet->output_log("/test.perl/telnet_output.log"); > > my $sql = 'select ……'; > $telnet->cmd > ( > String => "$sql", > Prompt =>'/[\$%#><:]\s*$/', > Timeout=> 360 > ); > > $telnet->waitfor(/^\>$/i); > $telnet->print("exit"); > > > -- Yours Sincerely Zeng Hong --~--~---------~--~----~------------~-------~--~----~ 您收到此信息是由于您订阅了 Google 论坛“PerlChina Mongers 讨论组”论坛。 要在此论坛发帖,请发电子邮件到 [email protected] 要退订此论坛,请发邮件至 [email protected] 更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛 -~----------~----~----~----~------~----~------~--~---
