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


in reply to Perl Expect Command output

First, try running it in debug mode
#!/usr/bin/perl use strict; use warnings; use Expect; $Expect::Debug = 1; my $timeout = 10; ...
Expect the unexpected:).

Update: In case you're still stumped, I put help in a callback. Give this a try:

#!/usr/bin/perl -slw use strict; use Expect; use Data::Dumper::Concise; #$Expect::Debug = 1; my $timeout = 10; my $command = 'telnet'; my $params = '10.123.125.13'; my $exp = Expect->spawn($command, $params) or die "Cannot spawn sftp command"; $exp->expect($timeout, ['mpp>']); $exp->send('enable'); $exp->expect($timeout, ['mpp#']); $exp->send(&help); $exp->expect($timeout, ['mpp#']); $exp->send('exit'); $exp->send('logout'); $exp->soft_close(); sub help { print "help\n\n", "List of available commands\n", " The current commands are: \n", " enable\n", " help\n", " exit\n", " logout\n"; }