この簡単なプログラムを考えてみましょう。最初の 2 行のコメントを外した後、出力が異なる理由を説明できますか? 私のハッシュで何が起こっていuse strict
ますか? で動作するようにプログラムを修正する方法はuse strict
?
echo -e "key1\nkey2\nkey3" | perl -lne '
#use strict; use warnings;
#my %hash;
BEGIN {
$hash{'key3'} = "value";
}
chomp;
if ($hash{$_}) {
print "$_ matched";
} else {
print "$_ unmatched ";
}
'
出力:
key1 unmatched
key2 unmatched
key3 matched