my $i = 0; my @new = map { ++$i; /^[yz]$/ ? 'I' : $a[$i] } @b; #### use List::MoreUtils qw(pairwise); my @mine = pairwise { $b =~ /^[yz]$/ ? 'I' : $a; } @a, @b;