vcakeから特定の Perl コードを理解しようとしています。通常、私は Perl で自分の道を見つけますが、次のステートメントは私を困惑させます。これは単なるエラーだと思いますが、完全にはわかりません。ステートメントは次のとおりです。
foreach my $seq (keys %$set) {
if( (defined $set->{$seq}) and (my $numReads >= ($coverage)) ) {
do something;
}
...
}
$coverage
ファイルの先頭でスカラー整数 (たとえば 10) として定義されており、再度書き込まれることはありません。$numReads
は上記の行でのみ使用され、他の場所では使用されません!
$set
一方、ループ内で変更されるため、条件の最初の部分は完全に理にかなっています。私が理解していないのは2番目の部分です。なぜなら、これは常に同じ値に評価され、or hereの意味を理解していない$numReads
>=
からです。誰かが私を啓発してもらえますか?おそらく目に見えない自動変数が関係していますか?