我必须散列如下:
my %hash1 = (
'modules' => {
'top0' => {
'instances' => {
'sub_top' => {
'instances' => {
'inst2' => 2,
'inst0' => 0
}
}
}
}
}
);
my %hash2 = (
'modules' => {
'sub_top' => {
'instances' => {
'inst0' => 0,
'inst1' => 1
}
}
}
); }
我需要将这些合并到一个哈希中。我尝试使用 Hash::Merge 但这仅在我从 subtop 开始时才有效。
my $merged_hash = merge(\%{$hash1{modules}{top0}{instances}}, \%{$hash2{modules}});
倾倒结果$merged_hash
给出:
$VAR1 = {
'sub_top' => {
'instances' => {
'inst2' => 2,
'inst0' => 0,
'inst1' => 1
}
}
};
但我错过了 hash1 的顶部:
'modules' => {
'top0' => {
'instances' => {
合并后所需的哈希应该是这样的:
$VAR1 = {
'modules' => {
'top0' => {
'instances' => {
'sub_top' => {
'instances' => {
'inst2' => 2,
'inst0' => 0,
'inst1' => 1
}
}
}
}
}
};