@array = map { $_ eq "c" && !$found++ ? ("c","f") : $_ } @array #### sub insert_after_first { my $arr_ref = shift; my $to_insert = shift; my $insert_after_me = shift; my $found = 0; map { $_ eq $insert_after_me && !$found++ ? ( $insert_after_me, $to_insert ) : $_ } @$arr_ref; }