Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask

Re^2: Telnet Cisco routers

by IvanAK (Acolyte)
on Apr 16, 2013 at 20:48 UTC ( #1029009=note: print w/ replies, xml ) Need Help??

in reply to Re: Telnet Cisco routers
in thread Telnet Cisco routers

Hi i was trying the suggestion you gave me and i have some problems or nubs questions ... here is what i have

use Net::Telnet::Cisco; for ($i = 4; $i <= 10; $i++){ $device = "172.16.$i.251"; my $pe = $i; my %users = ("6" =>"none", ); my %pwds = ("6" =>"thispass", ); my $curpwd = "admin"; if (defined $pwds{$i}) { $curpwd = $pwds{$i}; } if ($users{$i} eq "none") { $session->login(Password => $curpwd); } else { $session->login(Name => 'admin', Password => $curpwd, Input_log => " +perllogrouter/router$i.log",); } $session->cmd ("sh running-config | redirect +$pe.txt"); $session->close; }

and this is the error i get when i try to run this


Name "main::device" used only once: possible typo at line 5.

Use of uninitialized value within %users in string eq at line 16.

Can't call method "login" on an undefined value at line 19.


Any suggestion about this because im still learning the perl and some of the errors that i get im not quite sure what are telling me

Comment on Re^2: Telnet Cisco routers
Download Code
Replies are listed 'Best First'.
Re^3: Telnet Cisco routers
by Illuminatus (Curate) on Apr 18, 2013 at 15:34 UTC
    You have violated the first commandment, "Thou shalt not write programs without 'use strict' and 'use warnings'". Your declaration of $device likely conflicts with a global in the telnet package.


      UFF :S sorry for that my mistake. Any way i use it but as noob i cant figuring still what im doing wrong ... for now im not in the work ( medical issue ) and i cant test it ... im trying now at home with some improvisation and here is what i got using this code

      use Net::Telnet::Cisco; use strict; use warnings; use diagnostics; my %users = ("6" =>"none", ); my %pwds = ("6" =>"thispass", ); my $i = 4; for ($i; $i <= 10; $i++){ my $device = "10.10.$i.1"; my $pe = $i; my $curpwd = "admin"; if (defined $pwds{$i}) { $curpwd = $pwds{$i}; } if ($users{$i} eq "none") { my $session->login(Password => $curpwd); } else { my $session->login(Name => 'admin', Password => $curpwd, Input_log + => "perllogrouter/router$i.log",); } $session->cmd ("sh running-config | redirect +oba$pe.txt"); $session->close; }
      and here is what i get from that ..
      C:\Users\mydesktop\Desktop\Perl>perl Global symbol "$session" requires explicit package name at +line 24. Global symbol "$session" requires explicit package name at +line 25. Execution of aborted due to compilation errors.
      After i put "my" in session at line 24 and 25 i get this
      C:\Users\mydesktop\Desktop\Perl>perl "my" variable $session masks earlier declaration in same scope at teln line 25. Useless use of private variable in void context at line 26. Use of uninitialized value within %users in string eq at li +ne 19. Can't call method "login" on an undefined value at line 22. C:\Users\mydesktop\Desktop\Perl>
      So pls can you suggest what im doing wrong ... im now im noob and this is easy but the time is not on my side this few weeks. Im trying to read this book but im still at Strict,Warnings,and Diagnostics Chapter3 Variables :) and yes we all understand variables but i just fall in love with perl and i dont like to skip any chapter or something :) love is come again :) .... tnx in advanced for the support and any help you gave me .....

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (5)
As of 2015-11-29 00:30 GMT
Find Nodes?
    Voting Booth?

    What would be the most significant thing to happen if a rope (or wire) tied the Earth and the Moon together?

    Results (746 votes), past polls