Hi Monks
I need some hash magic if you can please help me.
I have the following text input and I want to build a multilevel hash from it
INPUT
Host_001 -> objectID -> HOST.62 Host_001 -> name -> rapidqa Host_001_WWN_001 -> WWN -> 21.00.00.E0.8B.80.7E.7D Host_001_WWN_002 -> WWN -> 21.00.00.E0.8B.80.E7.7F Host_001_LogicalUnit_001 -> objectID -> LU.R700.87108.8234 Host_001_LogicalUnit_001 -> devNum -> 8234 Host_001_LogicalUnit_002 -> objectID -> LU.R700.87108.8235 Host_001_LogicalUnit_002 -> devNum -> 8235 Host_002 -> objectID -> HOST.107 Host_002 -> name -> sapfvir03 Host_002_WWN_001 -> WWN -> 21.00.00.E0.8B.81.D7.F6 Host_002_WWN_002 -> WWN -> 21.00.00.E0.8B.81.4C.F9 Host_002_LogicalUnit_001 -> objectID -> LU.R700.87108.10336 Host_002_LogicalUnit_001 -> devNum -> 10336
What i want to do is loop through the text and dynamically create a hash, the problem is the how to dynamically add to a hash, below is an example of what i'll need in code format not in syntax
$hash{Host}{001}{objectID} = HOST.62; $hash{Host}{001}{name} = rapidqa; $hash{Host}{001}{WWN}{001}{WWN} = 21.00.00.E0.8B.80.7E.7D; $hash{Host}{001}{WWN}{002}{WWN} = 21.00.00.E0.8B.80.E7.7F; $hash{Host}{001}{LogicalUnit}{001}{objectID} = LU.R700.87108.8234; $hash{Host}{001}{LogicalUnit}{001}{devNum} = 8234; $hash{Host}{001}{LogicalUnit}{002}{objectID} = LU.R700.87108.8235; $hash{Host}{001}{LogicalUnit}{002}{devNum} = 8235; $hash{Host}{002}{objectID} = HOST.107; $hash{Host}{002}{name} = sapfvir03; $hash{Host}{002}{WWN}{001}{WWN} = 21.00.00.E0.8B.81.D7.F6; $hash{Host}{002}{WWN}{002}{WWN} = 21.00.00.E0.8B.81.4C.F9; $hash{Host}{002}{LogicalUnit}{001}{objectID} = LU.R700.87108.10336; $hash{Host}{002}{LogicalUnit}{001}{devNum} = 10336;
Thank you
In reply to hash magic by hrmnbth
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |