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]
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.)
Update: Changed the array initializations in the example code above to make the point more clearly.
Give a man a fish: <%-{-{-{-<
|