gpt4 book ai didi

Perl -/usr/local/lib64/perl5/Net/SSH2.pm 的散列分配中的奇数个元素

转载 作者:行者123 更新时间:2023-12-02 14:10:56 25 4
gpt4 key购买 nike

我创建了一个通过 ssh 连接到多个设备的 perl。我想通过连接设备来检查 ssh 是否正常工作。

这是我的代码:

#!/usr/bin/perl
use strict;
use warnings;
use Net::SSH2;
use POSIX qw(strftime);

my $date = strftime "%Y%m%d", localtime;

open (OUTPUTS, ">ssh_Success$date.log" );
open (OUTPUTF, ">ssh_Fail$date.log" );

open( SWITCHIP, "ip.txt" ) or die "couldn't open ip.txt";

my $count = 0;

while (<SWITCHIP>) {
chomp($_);
my $hostname = $_;
my $tl = 0;
my $t = Net::SSH2->new(
#Host => $hostname,
#Prompt =>
#'/(?m:^(?:[\w.\/]+\:)?[\w.-]+\s?(?:\(config[^\)]*\))?\s?[\$#>]\s?(?:\(enable\))?\s*$)/',
#debug=>0
#Timeout => 30,
#Errmode => 'return'
'$hostname', timeout => 30
) or $tl = 1;

my @output = ();

if ( $tl != 1 ) {
print "$hostname SSH success\n"; # for printing it in screen
print OUTPUTS "$date $hostname SSH success\n"; # it will print it in the log_Success.txt
}
else {
my $sshstat = "SSH failed";
print "$hostname $sshstat\n"; # for printing it in screen
print OUTPUTF "$date $hostname $sshstat\n"; # it will print it in the log_Fail.txt
}

$count++;
}
close(SWITCHIP);
close(OUTPUTS);
close(OUTPUTF);

我得到一个奇怪的错误 - 哈希分配中的奇数个元素:
Odd number of elements in hash assignment at /usr/local/lib64/perl5/Net/SSH2.pm
1.1.1.1 SSH success
Odd number of elements in hash assignment at /usr/local/lib64/perl5/Net/SSH2.pm
2.2.2.2 SSH success
Odd number of elements in hash assignment at /usr/local/lib64/perl5/Net/SSH2.pm
3.3.3.3 SSH success

最佳答案

该模块的constructor ( new ) expects a %hash .这意味着您必须提供一个包含偶数个元素的列表或一个散列变量,以便 new可以用它们构建它需要的哈希。当将奇数个元素分配给哈希时,会打印一个警告(您会得到)。

提供的列表是选项值对,为方便起见写为 option => value, ... (即使 option, value ... 也可以)。

记录的选项是:timeout , trace , debug , compress , 和 sigpipe .因此,您无法在构建对象时提供主机名。

这是通过 connect 完成的。

my $t = Net::SSH2->new( timeout => 30 ) or $tl = 1;

$t->connect( $hostname ) or $t->die_with_error;

请参阅文档了解 connect 的其他选项。支持。

关于Perl -/usr/local/lib64/perl5/Net/SSH2.pm 的散列分配中的奇数个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45272545/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com