I would include an index range test to avoid a possible slew of warnings such as those generated by the OPed example code (numeric comparisons of non-numerics). (The pair of tests, of index and element value, could easily be encapsulated in a function.)
c:\@Work\Perl>perl -wMstrict -MData::Dump -le "use Data::Dumper; ;; my @arr = ( [ 'A', 1, 0, 5, 6, 2 ], [ 'B', 3, 4, 5, 6, 7 ], [ 'C', 2, 4, 3, 5 ], [ 'D', 6, 7, 8, 8 ], [ 'E', 2, 5, 4, 5 ], [ 'F', 4, 3, 2, 2 ], [ 'G', 1, 2, 4, 5 ], [ 'H', 1, 4, 5, 6 ] ); ;; my @rows = grep { (@$_ > 2 && $_->[2] > 4) && (@$_ > 4 && $_->[4] > 3) } @arr ; dd \@rows; " [["D", 6, 7, 8, 8], ["E", 2, 5, 4, 5]]
In reply to Re: Simplest way to match/filter 2d array of values to search in perl
by AnomalousMonk
in thread Simplest way to match/filter 2d array of values to search in perl
by reaper9187
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |