2
IM在比較2子sub1
和從2個初始字符串seq1
和seq2
只允許一個錯配$k
sub2
工作是子序列的長度子串比較
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";
}
* 當我運行代碼它被卡住直到我殺了這個過程,它沒有給出任何結果。有關於此的任何幫助? *
考慮使用Perl樣式的for循環,而不是C風格。例如。 `爲我的$ j(0 ..(長度($ seq2) - 1 - $ k))`。 – TLP 2011-12-15 00:45:24