What do you expect?

I wrote a simple Perl script using Expect.pm to automate ssh logins. (I missed this bit from the package documentation.)

#!/usr/bin/perl


use lib('./lib');
use Expect;

$prompt = '[\]\$\>\#]\s$';

my $exp = Expect->spawn("ssh user@host") or die "Cannot spawn ssh: $!\n";

$exp->expect(30,'-re',qr'password: $')|| warn "No password prompt received\n";
print $exp "$pass\r";

$exp->expect(30,'-re',$prompt)||(die "No prompt received\n");
print $exp "ls -l\n";

$exp->expect(30,'-re',$prompt)||(die "No prompt received\n");
$read = $exp->before();

$exp->hard_close();
print "\n";

print "===============================\n";
print $read;
print "===============================\n";