是否可以像这样合并两个散列:
%one = {
name => 'a',
address => 'b'
};
%two = {
testval => 'hello',
newval => 'bye'
};
$one{location} = %two;
所以结束哈希看起来像这样:
%one = {
name => 'a',
address => 'b',
location => {
testval => 'hello',
newval => 'bye'
}
}
我看过了,但不确定是否可以在没有 for 循环的情况下完成。谢谢:)
最佳答案
因为散列元素的值是标量,所以不能将散列存储在散列中,但是可以存储对散列的引用。 (存储数组和存储到数组中也是如此。)
my %one = (
name => 'a',
address => 'b',
);
my %two = (
testval => 'hello',
newval => 'bye',
);
$one{location} = \%two;
与
相同my %one = (
name => 'a',
address => 'b',
location => {
testval => 'hello',
newval => 'bye',
},
);
关于Perl 合并哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22357629/