$dna = "ATCGTTGAATGCAAATGACATGAC";
while ($dna =~ /(\w\w\w)*?TGA/g) { # note the minimal *?
print "Got a TGA stop codon at position ", pos $dna, "\n";
}
Run Code Online (Sandbox Code Playgroud)
答案是:
Got a TGA stop codon at position 18 Got a TGA stop codon at position 23
为什么18位而不是8位?以下23.我很困惑它是如何匹配的?有关比赛的详细信息是什么?
但正确的代码是:
while ($dna =~ /\G(\w\w\w)*?TGA/g) {
print "Got a TGA stop codon at position ", pos $dna, "\n";
}
Run Code Online (Sandbox Code Playgroud)
这打印:
Got a TGA stop codon at position 18
怎么样?
Perl编程包含一段代码,如下所示:
for $family ( sort { @{$HoA{$b}} <=> @{$HoA{$a}} } keys %HoA ) {
say "$family: ", join(", " => sort @{ $HoA{$family} });
}
Run Code Online (Sandbox Code Playgroud)
我想知道的是"=>"在连接函数中的含义是什么?