printHash の 2 回目の呼び出しでハッシュが空になるのはなぜですか?
my %hash = ();
addToHash(\%hash);
printHash(\%hash);
sub addToHash {
my %hash = %{$_[0]};
$hash{"test"} = "test";
printHash(\%hash);
}
sub printHash {
print "printHash: \n";
my %hash = %{$_[0]};
foreach my $key (keys %hash) {
print "key: $key, value: $hash{$key}\n";
}
}
出力:
プリントハッシュ:
キー: テスト、値: テスト
プリントハッシュ: