Perl Net :: Telnet检索单行输出

问题描述

使用Perl的Net :: Telnet模块从upsd检索数据。 我正在尝试实现一个特定的功能,即为单个var检索数据。 问题是仅输出一行,并且该行用于匹配 提示,因此不会输出。

这是原始的telnet:

telnet dns1 3493
Trying 192.168.15.1...
Connected to dns1.
Escape character is '^]'.
get var cp1500 ups.test.result
VAR cp1500 ups.test.result "Done and passed"
Connection closed by foreign host.

这是一些代码:

#!/usr/bin/perl
use strict;
use warnings;
use Net::Telnet;

my $host = "dns1";
my $model = "cp1500";
my $bvar = "ups.test.result";
my $t = new Net::Telnet (Timeout => 3,Port => 3493,Prompt => "/VAR $model $bvar/");
$t->open($host);
my @ary = $t->cmd("get var $model $bvar");
print @ary,"\n";

这只是打印换行符,因为数组为空。提示匹配,否则会出现超时错误。我如何才能将那一行输出返回到脚本中进行处理?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)