7 use Data::Dump qw(dump);
8 use List::Util qw(first);
16 #$Net::OpenSSH::debug = ~0;
18 my $ip = shift @ARGV || '10.20.0.2';
20 @commands = <DATA> unless @commands;
22 my $ssh = Net::OpenSSH->new('auto@'.$ip);
23 my ($pty ,$pid) = $ssh->open2pty();
25 open my $log, '>', '/tmp/dell.log';
31 my $read = sysread($pty, $data, 1);
34 if ( $buff =~ m/User Name:/ ) {
35 print $pty "$login\n";
37 } elsif ( $buff =~ m/Password:/ ) {
38 print $pty "$passwd\n";
40 } elsif ( $buff =~ m/#$/ ) {
45 if ( my $command = shift @commands ) {
46 $command .= "\n" unless $command =~ m/\n$/;
48 print $pty "$command";
55 } elsif ( $buff =~ m/% Unrecognized command/ ) {
57 } elsif ( $buff =~ s{More: <space>, Quit: q, One line: <return> }{} ) {
59 } elsif ( $buff =~ s{\e\[0m\r\s+\r}{} ) {
67 show bridge address-table