use Net::Telnet::Cisco; #use strict; #use warnings; #use diagnostics; #use threads; my %users =("1" => "admin", "2" => "admin", "3" => "admin", "4" => "admin", "5" => "admin", "6" => "none", "7" => "admin", "8" => "admin", "9" => "admin", "10" => "admin", ); my %pwds = ("1" => "admin", "2" => "admin", "3" => "admin", "4" => "admin", "5" => "admin", "6" =>"s0m3th1ng", "7" => "admin", "8" => "admin", # not connected "9" => "admin", "10" => "admin", ); for ( $i = 1; $i<=10; $i++){ $device = "172.16.$i.251"; if ( $users{$i} eq "none" ) { my $curpwd = $pwds{$i}; my $session = Net::Telnet::Cisco->new(Host => "$device", Input_log => "perllogrouter/router$i.log", ); eval { $session->login(Password => $curpwd);}; if ($@) { print "Error: $@\n"; } else { if ($session->enable("$curpwd")) { # Execute a command @output = $session->cmd ('show running-config | section hostname'); print "@output\n"; print " ======================================================\n"; } $session->close; } } else { my $session = Net::Telnet::Cisco->new(Host => "$device", Input_log => "perllogrouter/router$i.log", ); eval {$session->login($users{$i}, $pwds{$i});}; if ($@) { print "Error: $@\n"; } else { # Execute a command @output = $session->cmd ('show running-config | section hostname'); print "@output\n"; print " ======================================================\n"; } } }