in reply to Re^2: Control loop 2D array
in thread Control loop 2D array
Not very satisfying because of the need to use a 'goto' to quit the loops early, and the need to duplicate the index vars because Perl localises them to loop even if they are pre-existing vars.
I tried suggesting that the latter behaviour was a bug a while ago and got shouted down.
#! perl -slw use strict; my @AoA = ( [ '1', '2', '11' ], [ '3', '3', '6' ], [ '6', '8', '11' ], [ '0', '7', '9' ], ); my @A = qw(0 0 0 0 1 2 0 0 1 0 1 0); my( $p, $q ); OUTER: for my $i ( 0 .. $#AoA ) { for my $j ( 0 .. $#{ $AoA[ $i ] } ) { ( $p, $q ) = ( $i, $j ) and last OUTER if $A[ $AoA[ $i ][ $j ] ]; } } print "i:$p j:$q";
I'm not sure why you are using the outer loop below?
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^4: Control loop 2D array
by ysth (Canon) on Jun 17, 2007 at 16:54 UTC | |
by BrowserUk (Patriarch) on Jun 17, 2007 at 18:59 UTC |