Я должен хэшировать следующим образом:
my %hash1 = (
'modules' => {
'top0' => {
'instances' => {
'sub_top' => {
'instances' => {
'inst2' => 2,
'inst0' => 0
}
}
}
}
}
);
my %hash2 = (
'modules' => {
'sub_top' => {
'instances' => {
'inst0' => 0,
'inst1' => 1
}
}
}
); }
Мне нужно объединить их в один ха sh. Я попытался использовать Ha sh :: Merge, но это работает только в том случае, если я начинаю только с подтопа и далее.
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' => {
Желаемое ха sh после слияния должно быть так:
$VAR1 = {
'modules' => {
'top0' => {
'instances' => {
'sub_top' => {
'instances' => {
'inst2' => 2,
'inst0' => 0,
'inst1' => 1
}
}
}
}
}
};