@array = do { my @array2; foreach ( @array ) { push @array2, $_; push @array2, "new_element" if $_ eq 'remove'; } @array2; }; #### @array = map { $_, ( $_ eq 'remove' ? "new element" : () ) } @array; #### @array = map { $array[$_], ( ($_+1) % 3 == 0 ? "new element" : () ) } 0 .. $#array;