我是新来的Perl,所以你必须原谅我的代码。我正在阅读树结构(如xml,只是不是实际)的文件,并且我想通过树并且如果某个“节点”没有子节点,我想插入它。够简单。将哈希推送到Perl中的现有哈希
这里是我的代码:
foreach $key (@{$struct->{'transferBatch'}->{'callEventDetails'} }) {
foreach (keys %{$key}) {
if ($_ eq "mobileTerminatedCall") {
if (defined $key->{$_}->{'basicServiceUsedList'}) {
if (defined $key->{$_}->{'basicServiceUsedList'}[0]->{'chargeInformationList'}) {
if (not defined $key->{$_}->{'basicServiceUsedList'}[0]->{'chargeInformationList'}[0]->{'CallTypeGroup'}) {
$CallTypeGroup = {
"CallTypeLevel1:" => "0",
"CallTypeLevel2:" => "0",
"CallTypeLevel3:" => "0"
};
#Doesn't work!
$key->{$_}->{'basicServiceUsedList'}[0]->{'chargeInformationList'}[0]{'CallTypeGroup'} = $CallTypeGroup;
}
}
}
}
}
}
迭代工作正常,但我的电话push
失败说这是不是一个数组引用。我觉得我很接近,但我需要这条线将$CallTypeGroup
散列作为孩子插入到当前位置。
任何帮助表示赞赏!
使用引用将复杂数据结构存储为标量。 – m0skit0