Я сделал свой скрипт, который подключается к моему коммутатору, но проблема в том, что при просмотре он говорит только часть, остальное отображается как размер (--More). Как я могу сделать, чтобы просмотреть все настройки и спасибо
use Net::OpenSSH;
use warnings;
use Expect;
my $password = 'admin';
my $enable = '';
my $ip = '192.16.25.39';
my $username='user';
my $ssh = Net::OpenSSH->new("$username:$password\@$ip", timeout => 200) ;
$ssh->error and die "unable to connect to remote host: ". $ssh->error;
my $output = $ssh->capture({stdin_data => "enable\n"."admin%\n"."show vlan"."\n"});
if ($output) {print $output . ' ';}
my $line;
print "\n";
# closes the ssh connection
$ssh->close();
Я пробовал это с модулем Expect:
use Net::OpenSSH;
if ($output) {
print $output . ' ';
my $expect = Expect->init($output);
$expect->raw_pty(1);
#$expect->debug(2);
my $debug and $expect->log_stdout(1);
while(<$pty>) {
print "$. $_ "
}
}
который выдает эту ошибку:
Невозможно благословить нереференсное значение в /usr/local/share/perl5/Expect.pm, строка 202 (#1) (F) Благословить можно только жесткие ссылки. Вот как Perl «обеспечивает» инкапсуляцию объектов. См. перлобж. Неперехваченное исключение из пользовательского кода: невозможно благословить нереференсное значение в /usr/local/share/perl5/Expect.pm, строка 202. в /usr/local/share/perl5/Expect.pm, строка 202. Expect::exp_init ("Ожидайте", "\x{d}\x{a}witch>включить\x{d}\x{a}пароль:\x{d}\x{a}switch#show vlan\x{d} \x{a}\x{d}\x{a}VLA"...) вызывается в строке 19 b.pl "