我哈希存儲像這樣參考哈希鍵的鏈哈希一個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