The variables with red color don't resolved.
please advise.
---------------------------
I got the following output:
C:\Users\Administrator>perl c:\Scripts\dhcp.pl
Can't locate auto/Net/Telnet/Cisco/autosplit.ix in @INC (@INC contains: F:/Perl/
site/lib F:/Perl/lib .) at F:/Perl/lib/AutoLoader.pm line 173.
at F:/Perl/lib/Net/Telnet/Cisco.pm line 18
10
14
199
1
unknown remote host: $device at c:\Scripts\dhcp.pl line 12
when I manually resolve the $device variable, I got the following output:
C:\Users\Administrator>perl c:\Scripts\dhcp.pl
Can't locate auto/Net/Telnet/Cisco/autosplit.ix in @INC (@INC contains: F:/Perl/
site/lib F:/Perl/lib .) at F:/Perl/lib/AutoLoader.pm line 173.
at F:/Perl/lib/Net/Telnet/Cisco.pm line 18
10
14
199
1
Last command and router error:
R2(config)#ip dhcp excluded-address 172.18.$o3.1 172.18.$o3.20
^
% Invalid input detected at '^' marker.
-----------------------
note: ^ is under $ not as it appears.
------------------------
The answer is quite simple: single quotes, unlike double quotes, won't interpolate the content of the variable, but take the string as is. See perldoc perlop for details on quoting.
C:\Users\Administrator>perl c:\Scripts\dhcp.pl
Can't locate auto/Net/Telnet/Cisco/autosplit.ix in @INC (@INC contains: F:/Perl/
site/lib F:/Perl/lib .) at F:/Perl/lib/AutoLoader.pm line 173.
at F:/Perl/lib/Net/Telnet/Cisco.pm line 18
10
14
199
1
command timed-out at c:\Scripts\dhcp.pl line 17
As for the autosplit.ix error: how did you install the module, and what Perl distribution do you use? ActiveState?
The timeout probably means that the device didn't answer after a certain period of time. Check the documentation for Net::Telnet::Cisco on how to increase the timeout, or if the device has a problem with the command at line 17.
I have active perl 5.8.9 on windows but I don't find the "Net::Telnet::Cisco" module by default so I download only "Cisco.pm" file and paste it in perl. (it seems that this is not correct, isn't it?).
Please advise where I can find the whole package and how to install it??
on the other hand the device doesn't have a problem with any command.
It's available through ActiveStates PPM, although not in the default repository. Installation instructions can be found here.
As for the timeout, look through the documentation for the new() method, there's a timeout parameter that can be set globally, as well as for each cmd() individually. Test the commands with a device to find the time it needs to complete successfully.