約Readonly?
など。
use Readonly;
Readonly my %h3 => (
k1 => [ { k=>1 }, { m=>2 } ],
k2 => [ { l=>90}, ],
);
print "old value: '$h3{k1}->[0]->{k}'\n";
$h3{k1}->[0]->{k} = 'New value';
print "new value: '$h3{k1}->[0]->{k}'\n";
は%h3
はハッシュではなく、ハッシュ・リファレンスであることを
old value: '1'
Modification of a read-only value attempted at readonly.pl line 7
注意を与えます。ハッシュリファレンスは、読み込み専用とうまく動作しません:
use Readonly;
Readonly my $h2 => {
k1 => [ { k=>1 }, { m=>2 } ],
k2 => [ { l=>90}, ],
};
print "old value: '$h2->{k1}->[0]->{k}'\n";
$h2->{k1}->[0]->{k} = 'New value';
print "new value: '$h2->{k1}->[0]->{k}'\n";
は、
old value: '1'
new value: 'New value'
出典
2013-12-25 06:24:18
Hln
オーケー与え、このようなハッシュをロックする別の方法があります? (Hash :: Util以外) – trinity