сравнение подстрок в Perl - PullRequest
       32

сравнение подстрок в Perl

2 голосов
/ 15 декабря 2011

Я работаю над сравнением 2 подстрок sub1 и sub2 из 2 исходных строк seq1 и seq2, допускающих только одно несовпадение $k - длина подпоследовательности

foreach (my $i = 0; $i < length($seq1) - $k; $i += 1) {
    my $sub1 = substr($seq1, $i, $k);
    foreach (my $j = 0; $j < length($seq2) - $k; $i++) {
        my $sub2 = substr($seq2, $j, $k);
        my $diff = $sub1 ^ $sub2;
        my $num_mismatch = $diff =~ tr/\0//c;
        if ($num_mismatch == 1) { 
            $d{$sub1}++;
        }
    }
}
foreach (keys %d) {
    print "$_\n";
}

* Когда я запускаю код, он застревает, пока я не убью процесс, и он не даст никакого результата.Любая Помощь об этом?*

1 Ответ

11 голосов
/ 15 декабря 2011
foreach (my $j=0;$j<length($seq2)-$k;$i++)

должно быть

foreach (my $j=0;$j<length($seq2)-$k;$j++)
                                   # ^^
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...