给定存储在数组中的某个序列A,我必须找到一个更大的序列B是否包含序列A.
我被困在索引部分...而且我得到一个错误,参数“TGACCA”不是数字元素行 69 中的数字是:
if (index($record_r1[1], $r2_seq[$check]) != -1)
代码是:
foreach my $check (@r2_seq)
{
if (index($record_r1[1], $r2_seq[$check]) != -1)
{
$matches= $matches + 1;
print "Matched";
}
else
{
}
}
答案 0 :(得分:3)
foreach my $check (@r2_seq)
$check
接受@r2_seq
中每个元素的值。它不是索引。
$r2_seq[$check]
这是尝试使用@r2_seq
的元素作为@r2_seq
的索引。你想要的不太可能。更有可能的是,你想使用
$check
,如
if (index($record_r1[1], $check) != -1)
答案 1 :(得分:0)
我相信您希望$check
为索引,因此请使用以下代码:
foreach my $index (0..$#r2_seq)
{
if (index($record_r1[1], $r2_seq[$index]) != -1)
{
$matches= $matches + 1;
print "Matched";
}
else
{
}
}