for $i (0 .. $#p2) { #print "$p1[$i] vs $p2[$i]\n"; $mism_pos{$i} = 1 if ($p1[$i] eq $p2[$i]); } #print sort keys %mism_pos,"\n"; if (keys %mism_pos) { for $i (0..$#p2) { if (defined $mism_pos{$i}) { if (@new1 && @new2) { push @new,@new1,'and',@new2,$p2[$i]; @new1=(); @new2=(); } else { push @new,$p2[$i]; } } else { push @new1,$p1[$i]; push @new2,$p2[$i]; } } }