map { s/match/replace/ } @array #### map { s/match/replace/; $_ } @array #### my @x = qw{a b a c bab aca}; my @y = map { /(.?a.?)/ ? $1 : () } @x; print "|$_|\n" for @y; #### |a| |a| |bab| |ac| #### my @x = qw{a b a c bab aca}; my @y = map { /(.?a.?)/ ? $_ : () } @x; print "|$_|\n" for @y; #### my @x = qw{a b a c bab aca}; my @y = grep { /(.?a.?)/ } @x; print "|$_|\n" for @y; #### |a| |a| |bab| |aca| #### $ perl -e ' my $use_grep = 0; my @x = qw{a b a c bab aca}; my @y = map { /(.?a.?)/ ? $use_grep ? $_ : $1 : () } @x; print "|$_|\n" for @y; ' |a| |a| |bab| |ac| #### $ perl -e ' my $use_grep = 1; my @x = qw{a b a c bab aca}; my @y = map { /(.?a.?)/ ? $use_grep ? $_ : $1 : () } @x; print "|$_|\n" for @y; ' |a| |a| |bab| |aca|