foreach $table (@tables) { $exp->expect(3600, [ qr/>/i, sub { my $self = shift; sleep(1); $self->send("TABLE $table; FORMAT 132 PACK\r"); }]); $exp->expect(3600, [ qr/UNKNOWN TABLE/i, sub { my $self = shift; sleep(1); $self->send("abort\r"); next; }], [ qr/TABLE: $table/i, sub { my $self = shift; $self->send(""); }]); $exp->expect(3600, [ qr/The first column/i, sub { my $self = shift; sleep(1); $self->send("LIS ALL\r"); }]); $exp->expect(3600, [ qr/EMPTY TABLE/i, sub { my $self = shift; sleep(1); next; }], [ qr/TOP/i, sub { my $self = shift; $self->send(""); }]); $exp->expect(3600, [ qr/BOTTOM/i, sub { my $self = shift; sleep(1); $self->send("quit all\r"); }]); }