#!/usr/bin/env perl use Expect; #$Expect::Debug = 3; # verbose debug output #$Expect::Log_Stdout = 1; # show chatter for debugging #$Expect::Exp_Internal =1; my $exp = Expect->spawn("units") or die "Cannot spawn unit: $!\n"; $exp->log_stdout(1); $exp->expect(15, [ qr/you have/i => sub { my $exp = shift; #print "you have"; $exp->send("2 km\n"); exp_continue; } ], [ qr/you want/i , sub { my $exp = shift; #print "you want"; $exp->send("m\n"); exp_continue; }], [ 'eof', sub { my $exp = shift; print "eof"; print $exp->before(); } ], [ qr/blabla.*/, sub { my $exp = shift; print $exp->error; print $exp->before(); exp_continue; } ] ); #### [ qr/you have/i => sub { my $exp = shift; if (++$counter<=1) { $exp->send("2 km\n"); exp_continue; } else { $exp->soft_close(); } } ],