Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re^4: NET::OpenSSH to execute multiple commands

by hmb104 (Sexton)
on Aug 24, 2012 at 21:50 UTC ( #989643=note: print w/replies, xml ) Need Help??


in reply to Re^3: NET::OpenSSH to execute multiple commands
in thread NET::OpenSSH to execute multiple commands

($Core) = &connect( $Core, $user, $pass ); @Output = $Core->capture( "show ip route $IPNumber" ) or die( ($! >> 8) ); $DEBUG && Debug_Output( @Output ); ($Core2) = &connect( $Core2, $user, $pass ); @Output2 = $Core2->capture( "show run | include hostname" ) or die( ($! >> 8) ); $DEBUG && Debug_Output( @Output2 ); foreach $Line ( @Output, @Output2) { if ( $Line =~ m/^Routing entry for / ) { @Data = split( ' ', $Line ); $Subnet = $Data[ 3 ] ; } if ( $Line2 =~ m/^hostname / ) { @Data2 = split( ' ', $Line2 ); $Rname = $Data2[ 2 ] ; last ; } } @Subnet = split( /\./, $Subnet ); $RouterIP = join( '.', $Subnet[0], $Subnet[1], $Subnet[2], '1' ); print( " Router: [$Rname]\t Router IP: [$RouterIP]\n" );

The loop doesn't featch my Output2 array elements. This is what I get in the command line:

bash-3.00$./test.pl 10.10.10.16 Router: [] Router IP: [10.10.10.1]

Replies are listed 'Best First'.
Re^5: NET::OpenSSH to execute multiple commands
by Kenosis (Priest) on Aug 25, 2012 at 02:32 UTC

    Try changing $Line2 to $Line in the following:

    if ( $Line2 =~ m/^hostname / ) { @Data2 = split( ' ', $Line2 ); $Rname = $Data2[ 2 ] ; last ; }

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://989643]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (11)
As of 2016-10-01 17:40 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    How many different varieties (color, size, etc) of socks do you have in your sock drawer?






    Results (2 votes). Check out past polls.