in reply to Cisco Telnet

You could always eval the login:
use Net::Telnet::Cisco; for ($i = 1; $i <= 254; $i++){ $device = "172.16.$i.251"; my $session = Net::Telnet::Cisco->new(Host => "$device", Input_log => "perllogrouter/router$i.log",); eval { $session->login('admin', 'admin') or die "Could not connect +to $device" }; if ( $@ ){ # log here #; next } #some command $session->cmd ("show running-config "); $session->close;
~~David~~

Replies are listed 'Best First'.
Re^2: Cisco Telnet
by 5mi11er (Deacon) on Aug 16, 2013 at 19:42 UTC
    I have scripts that do the ping first test.

    I like Net::Ping::External as it allows, on linux, non-root users to run the scripts.

    -Scott

Re^2: Cisco Telnet
by mvip (Acolyte) on Aug 19, 2013 at 11:29 UTC

    Im new to perl im still reading the "Beginning of perl" book, and im not familiar with eval ... i was riding about it and i think i get the point for something... for example

    use Net::Telnet::Cisco; for ($i = 1; $i <= 254; $i++){ $device = "172.16.$i.251"; my $session = Net::Telnet::Cisco->new(Host => "$device", Input_log => "perllogrouter/router$i.log",); eval { $session->login('admin', 'admin') or die "Could not connect +to $device" };
    in this part i understand that "for loop" make from 1 to 254 and ctr... the part of eval is execute this
    { $session->login('admin', 'admin') or die "Could not connect +to $device" };
    and i guess this means if it's negative or not connected if ( $@ ){ # log here #; next } go to the next part ... and the next part is again "for loop". So my question is how can i go the for loop again ...

Re^2: Cisco Telnet
by mvip (Acolyte) on Aug 20, 2013 at 05:37 UTC

    Im new to perl im still reading the "Beginning of perl" book, and im not familiar with eval ... i was riding about it and i think i get the point for something... for example

    use Net::Telnet::Cisco; for ($i = 1; $i <= 254; $i++){ $device = "172.16.$i.251"; my $session = Net::Telnet::Cisco->new(Host => "$device", Input_log => "perllogrouter/router$i.log",); eval { $session->login('admin', 'admin') or die "Could not connect +to $device" };

    in this part i understand that "for loop" make from 1 to 254 and ctr... the part of eval is execute this

    { $session->login('admin', 'admin') or die "Could not connect +to $device" };

    and i guess this means if it's negative or not connected if ( $@ ){ # log here #; next } go to the next part ... and the next part is again "for loop". So my question is how can i go the for loop again ...