You say execute a command from the loop while the pattern is not detected, then another command when it is, and then the command from the loop one more time afterwards
If so then it sounds fairly simple:
my $data = read_port(); while( 0 == match_data($data) ) { do_if_no_match(); $data = read_port(); } process_match($data); do_if_no_match(); # End.
If on the other hand, you want to Resume your loop after you have processed a match, then I suggest a for loop with the loop variable initialised outside the outer loop that reads the port:
my $loop_i = 0; my $max_i = 100; my $data = read_port(); while( $loop_i < $max_i ) { if( match_data($data) ) { do_if_no_match($data); } else { do_if_no_match( $loop_i ); } $data = read_port(); $loop_i ++; } # End.
In reply to Re: pattern detection inside until loop in perl
by chrestomanci
in thread pattern detection inside until loop in perl
by vrushali
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |