9 my $iosprompt = '/[^\s]+[#>]/';
11 sub ios_waitprompt($) {
14 #while ($t->getline) {
15 # print "Line: $_\n" if $_;
18 my ($prematch, $match) = $t->waitfor($iosprompt);
19 #print "PRE: $prematch\nM: $match\n";
23 my ($t, $enablepass) = @_;
25 print STDERR "Enabling...\n";
26 my @lines = $t->print("enable");
27 $t->waitfor('/Password: /');
28 $t->print($enablepass);
33 my ($t, $user, $pass) = @_;
35 print STDERR "Waiting username\n";
36 my ($prematch, $match) = $t->waitfor('/Username:\s{0,}/');
37 print STDERR "Sending username\n";
39 print STDERR "Waiting password\n";
40 ($prematch, $match) = $t->waitfor('/Password: /');
41 print STDERR "Sending password\n";
50 my @output = $t->cmd("show ip route".($net ? " $net" : ''));
53 return 0 if $_ =~ /^% Network not in table/;
60 my ($host, $user, $pass, $enablepass) = @_;
62 my $t = new Net::Telnet(Timeout => 15,
63 Prompt => $iosprompt);
64 $t->dump_log("/tmp/ios.log");
66 ios_login($t, $user, $pass);
67 ios_enable($t, $enablepass) if $enablepass;
68 $t->cmd("terminal length 0"); # Don't use the pager