我有動態嵌套哈希裁判是這樣的:
my $hash = { 'a' => { 'b' => { 'c' => 'value' } } };
我想設置通過允許用戶輸入「abc something」,將c的值賦予「something」。
現在越來越值可以做這樣的:
my $keys = 'a.b.c';
my $v='something';
my $h = $hash;
foreach my $k(split /\./, $keys) {
$h = $h->{$k};
}
print $h; # "value"
但我怎麼會設置的關鍵c
價值$v
,使
print Dumper $hash;
將反映變化? $h
不是foreach循環結尾的ref,因此更改不會反映$hash
中的更改。任何提示如何解決我腦海中的結嗎?
嘗試的標準'數據:: Dumper'的'Dumper'使用CPAN'數據:: Dump'模塊的'dd'函數來代替。 CPAN模塊使閱讀更容易。 – tchrist