我哈希存储像这样参考哈希键的链哈希一个Perl哈希
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
但我想知道如何设置的值编程使用发现的路径。
谢谢。使用for循环(我使用一个数组作为输入)沿着树走向hashref就是我所需要的。如果任何人感兴趣这就是它的样子: 我的哈希walker运行一个函数,当它找到一个给定的键并将它传递给$ k中的键和@ $ key_list中的路径列表。例如$ k = CID和@ $ key_list = ['BB','EUTRA','DL','PLCI','CID'] ' \t pop @ $ key_list; \t my $ hashref = \%deviceSettings; (@ $ key_list); $ hashref = $ hashref - > {$ _}; \t $ hashref - > {$ k} ='我的新值'; ' 非常直截了当。非常感谢。 – JonFitt