http://www.perlmonks.org?node_id=919421


in reply to telnet from a cisco telnet

Host=>'$ip'
Are you sure that's right? Does removing the single quotes help?

Replies are listed 'Best First'.
Re^2: telnet from a cisco telnet
by Kumar Mantri (Novice) on Aug 09, 2011 at 11:50 UTC

    i made some changes,it worked without errors but i got this output "command timed-out at C:\Users\Kumar\telnet.pl line 7" where did i go wrong?

    use strict; use Net::Cisco; use Net::Telnet(); my $t =Net::Telnet::Cisco->new(Host=>'10.0.0.1'); my @output=0; $t->login('9190','KUM@R425'); $t->cmd("telnet 192.168.203.23"); $t->waitfor('/:$/i'); $t->cmd("public"); $t->waitfor('/>$/i'); @output=$t->cmd("show system"); open(CONFIG,">config.txt"); print CONFIG "@output\n"; close(CONFIG); $t->close;

      yes finally i did with this..done!!but small problem,here it is writing value 1 to the text file..but declared it as array ..here im expecting some set of commands from the device.....any help please?

      use Net::Cisco; my $t =Net::Telnet::Cisco->new(Host=>'10.0.2.2'); my @output; my $tl=0; $t->login('9190','KUM@R425'); $t->print("telnet 192.168.203.23")or $tl=1; $t->waitfor('m/password:/'); $t->print("public"); $t->waitfor('m/]>/'); @output=$t->print("show system"); $t->waitfor('m/]>/'); $t->print("exit"); open(CONFIG,">config.txt"); print CONFIG "@output\n"; close(CONFIG); $t->close;
        @output=$t->print("show system"); $t->waitfor('m/]>/');

        This cannot work, because the output of show system will only be available after you have assigned it into @output. You will need to use $t->cmd(...) to collect the output of a command.