Maneira rápida de encontrar a diferença entre duas seqüências de comprimento igual em Perl

Dados pares de cordas como este.

    my $s1 = "ACTGGA";
    my $s2 = "AGTG-A";

   # Note the string can be longer than this.

Gostaria de encontrar posição e caráter em$s1 onde difere com$s2. Nesse caso, a resposta seria:

#String Position 0-based
# First col = Base in S1
# Second col = Base in S2
# Third col = Position in S1 where they differ
C G 1
G - 4

Eu posso conseguir isso facilmente comsubstr(). Mas é terrivelmente lento. Normalmente, preciso comparar milhões desses pares.

Existe uma maneira rápida de conseguir isso?

questionAnswers(4)

yourAnswerToTheQuestion