When the response "EMPTY TABLE" is returned, the below code doesn't execute the "next" command. The code just hanges. The exp_continue command has the same results. There are two possible values returned, one is "EMPTY TABLE" and the other is "TOP". Breaking the two responses into seperate calls causes the code to hang in the other direction. Can you please assist me with having the "next" or similar command to cause excution to begin with the next $table?
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"); }]); }
20050428 Cleaned up by Corion: Added formatting, fixed wrong code tag
In reply to Next & Last - Perl's Expect by tc1364
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |