... it works with multiple arrays:
...
my @newb = grep {$_>850}(@b&&@c&&@d);
I'm not sure what you mean by "works" in this context. Is the following output what you expect?
Something seems to have happened to the contents of the @b and @c arrays. Again, did you intend this? This result comes from the short-circuiting behavior of the && || and or logical operators; see perlop. (Please see the non-core module Data::Dump for the dd() function. The core Data::Dumper module has dumper functions that you will not need to install a module to access.)c:\@Work\Perl\monks>perl -wMstrict -MData::Dump -le "my @b = (1, 2, 3, 11, 12, 13); my @c = (4, 5, 6, 14, 15, 16); my @d = (7, 8, 9, 17, 18, 19); my @newb = grep { $_ > 10 } (@b && @c && @d); dd \@newb; " [17, 18, 19]
Update: Changed the array initializations in the example code above to make the point more clearly.
Give a man a fish: <%-{-{-{-<
In reply to Re^2: iterating through array and saving matches to new array (updated)
by AnomalousMonk
in thread iterating through array and saving matches to new array
by jazzfan
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |