$ perl -Mstrict -Mwarnings -E ' my @seqs = qw{ ATGC TGCT GCTA CTAA TAAC }; my $match = q{GTCA}; foreach my $seq ( @seqs ) { my @posns; my $diff = $seq ^ $match; my $nMismatches = () = $diff =~ m{([^\0])(?{ push @posns, pos $diff })}g; say qq{$seq : $match -> $nMismatches at @posns}; }' ATGC : GTCA -> 3 at 1 3 4 TGCT : GTCA -> 3 at 1 2 4 GCTA : GTCA -> 2 at 2 3 CTAA : GTCA -> 2 at 1 3 TAAC : GTCA -> 4 at 1 2 3 4 $