【发布时间】:2014-04-13 13:35:52
【问题描述】:
有没有办法使用指向散列值的散列引用来更新散列中的值?
我的哈希输出如下所示:
'Alternate' => {
'free' => '27.52',
'primary' => 'false',
'used' => '0.01',
'name' => '/mydir/journal2',
'size' => '50.00'
},
'Primary' => {
'free' => '60.57',
'primary' => 'true',
'used' => '0.06',
'name' => '/mydir/journal',
'size' => '64.00'
}
};
我尝试在哈希中创建对“已使用”属性的哈希引用并尝试更新值:
$hash_ref = \%hash->{"Primary"}->{used};
$hash_ref = "99%";
print $$hash_ref, "\n";
这会更改散列的值,但我得到“第 X 行不推荐使用散列作为参考”。我想知道我正在尝试做的事情是否可行以及我做错了什么。
【问题讨论】:
-
要访问 'used' 密钥,您可以执行类似 $hash->{Primary}->{used} 或 $hash{Primary}->{used} 的操作(取决于您的外部结构是哈希引用或哈希)。这将返回值 0.06,而不是引用。你想达到什么目的?
标签: perl hash hashref hash-reference