in reply to Re^2: Perl Best Practices - Loop Labels
in thread Perl Best Practices - Loop Labels
If you look at my code, I put both loops within a subroutine, XXX. If the inner loop needs to abort the outer loop, a return statement is appropriate. Of course you have to refactor the code into a subroutine so that return from the inner loop aborts the outer loop.
If you don't do that then, you get to this stuff where inner loop has to set a flag that causes the outer loop to finish. Put both loops in a sub and just return from the inner loop when no more processing is necessary.
As far as return() goes, this would be more like I describe based upon your code:
This can be expanded to deal with 2 or more dimensions.use strict; use warnings; x($_)for (0..5); #sub x won't print any num >1 print "42\n";; sub x { my $num = shift; return if $num >1; print "$num\n"; } __END__ Prints: 0 1 42
|
|---|