use warnings; use strict; my $source="ATTCCGGG"; print "source: $source\n"; for my $str ( "ATTGCGGG", "ATACCGGC", "ACTGCGGT" , "ATCGGGGG" ) { print "string: $str\n"; my @res = unpack "c*", $source ^ $str; for my $i (grep $res[$_], 0 .. $#res) { print "$i: ", substr($source, $i, 1), "->", substr($str, $i, 1), "\n"; } }