好像Term::** 管这个 事情的, 可以查下
2009/8/4 Alex.Lee <liwei.workmail@gmail.com>
各位同行:
你们好,我在用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 讨论组"论坛。
要在此论坛发帖,请发电子邮件到 perlchina@googlegroups.com
要退订此论坛,请发邮件至 perlchina+unsubscribe@googlegroups.com
更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛
-~----------~----~----~----~------~----~------~--~---
没有评论:
发表评论