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]; } } }