我有一个像这样存储数据的哈希值
our %deviceSettings = (
BB => {
EUTRA => {
DL => { CPC => "NORM", PLCI => { CID => 88 }, ULCPc => "NORM" },
UL => {
REFSig => { DSSHift => 2, GRPHopping => 1, SEQHopping => 1 },
SOFFset => 0,
},
},
},
...
);
我可以遍历结构并找到特定的键,比如说CID
,并检索其值并将“路径”存储在数组中('BB', 'EUTRA', 'DL', 'PLCI')
.
我还可以显式设置一个值,如下所示
$deviceSettings_ref->{BB}{EUTRA}{DL}{PLCI}{CID} = 99
但我想知道如何使用发现的路径以编程方式设置值。
您可以使用占位符遍历哈希$hashref
:
my $hashref = \%deviceSettings;
$hashref = $hashref->{$_} for qw(BB EUTRA DL PLCI);
$hashref->{CID} = 'My New Path';
use Data::Dump;
dd \%deviceSettings;
Outputs:
{
BB => {
EUTRA => {
DL => { CPC => "NORM", PLCI => { CID => "My New Path" }, ULCPc => "NORM" },
UL => {
REFSig => { DSSHift => 2, GRPHopping => 1, SEQHopping => 1 },
SOFFset => 0,
},
},
},
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)