0

我编写了一个 perl 程序来查找给定 DNA 字符串中的百分比 GC 内容。但是程序正在执行错误情况(条件语句的其他部分)

$dna = "AGTC";
$a = 0;
$g = 0;
$t = 0;
$c = 0;

for ($p = 0; p < length $dna; ++$p) {
    $ch = substr($dna,$p,1);
    if($ch eq 'A') {
            ++$a;
    } elsif($ch eq 'G') {
            ++$g;
    } elsif($ch eq 'T') {
            ++$t;
    } elsif($ch eq 'C') {
            ++$c;
    } else {
            print "error";
    }
}
$total = $a + $g + $t + $c;
$gc = $g + $c;
$percentagegc = ($gc/$total) * 100;
print "percentage gc content is = $percentagegc";

请帮忙。

4

1 回答 1

4

You're missing a $ in one of your usages of $p in this line:

for($p = 0;p < length $dna;++$p)
           ^ -- here

Fixing that and running your script I correctly get:

percentage gc content is = 50
于 2014-03-06T18:37:55.940 回答