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


in reply to Re^2: Net::Telnet::Cisco and Terminal Server
in thread Net::Telnet::Cisco and Terminal Server

Sorry, my previous post got messed up. Newbie to perl.I have similar issue.I'm trying to connect to a cisco device via terminal server. Manually, when the server is connected, the username prompt comes after a carriage return. How can I send this carriage return via my code. I tried different ways but nothing is working.The Username prompt doesn't come up and it gets timeout.Here's the snippet of my code.Whats wrong here ? Is there any better way of doing it ? Any help appreciated

use Net::Telnet::Cisco; # $host="10.10.10.30"; $port="2033"; $user="cisco"; $password="cisco"; my $session = Net::Telnet::Cisco->new( Host => $host, Port => $port, Prompt => '/.*#:/', Input_log => "input.log", Output_log => "output.log", Dump_Log => "dump.log", Timeout => 10); $session->always_waitfor_prompt; $session->waitfor_pause(0.6); #Sending new line for carriage return $session->print("\n"); #Checking whats the last promt $match = $session->last_prompt; print" Match: + $match"; #Wait for the username prompt and enter username @out = $session->waitfor('/Username:.*$/'); print "@out\n"; @out = $session->print($user); print "@out\n"; #Wait for the password prompt and enter the password #$session->waitfor_pause(0.6); # @out = $session->waitfor('/Password:.*$/'); print "@out\n"; @out = $session->print($password); print "@out\n"; #$session->always_waitfor_prompt; #Wait for enable password @out = $session->waitfor('/vcctest-30-6k\>/'); print "@out\n"; @out = $session->print("enable"); @out = $session->waitfor('/Password:.*$/'); print "@out\n"; @out = $session->print($password); @out = $session->close;