use Data::Dumper; my @x = qw( foo bar ); print q[ map { if (0) { $_ } } @x ], "\n"; print Dumper [ map { if (0) { $_ } } @x ]; print "\n", q[ grep 0, @x ], "\n"; print Dumper [ grep 0, @x ]; print "\n", q[ map { 0 ? $_ : () } @x ], "\n"; print Dumper [ map { 0 ? $_ : () } @x ]; __END__ map { if (0) { $_ } } @x $VAR1 = [ 0, 0 ]; grep 0, @x $VAR1 = []; map { 0 ? $_ : () } @x $VAR1 = [];