在Perl中修改散列中的散列

时间:2010-07-21 02:24:45

标签: perl hash

在以下实例中,在哈希中修改哈希的最短代码是什么:

%hash{'a'} = { 1 => one, 
               2 => two };

(1)在'a'的内部哈希中添加一个新键(例如,'a'的内部哈希中的c => 4) (2)更改内部哈希中的值(例如:将值1更​​改为“ONE”)

2 个答案:

答案 0 :(得分:1)

$hash{a}{c} = 4;

$hash{a}{1} = "ONE";

答案 1 :(得分:1)

根据这个问题,你似乎对perl不熟悉,所以你应该看看perldoc perlop等。

您的%hash个键包含hashrefs的标量值。您可以使用->运算符取消引用,例如$hashref = {foo=>42}; $hashref->{foo}。同样,您可以对哈希值$hash{a}->{1}中的值执行相同操作。但是,当你链接索引时,它们之间存在一些隐含->的语法糖,所以你可以只做$hash{a}{1} = 'ONE'等等。

This question可能也会给你一些有用的线索。

相关问题