Doozer has asked for the wisdom of the Perl Monks concerning the following question:
I have a pretty complicated (for me anyway) hash setup as shown in the example snippet below:
my %hash = ( 'A1' => { 'B1' => 'Value', 'B2' => { 'C1' => [arrayitem1, arrayitem2, arrayitem3,], 'C2' => [arrayitem1, arrayitem2, arrayitem3,], } }, )
What I want to do is check whether C1 or C2 exists. If it exists, I want to add another item to its array. If C1 or C2 does not exist, I want to create it as an array reference and add an item to its array.
At the moment my code looks something like this:
if (exists $hash{'A1'}{'B2'}{'C1'}) { push ( @{ $hash{'A1'}{'B2'}{'C1'}}, arrayitem4; } else { $hash{'A1'}{'B2'} = {'C1' => [arrayitem1]}; }
The code doesn't work as I get various "Can't use string ("") as a HASH ref while "strict refs" in use" errors. I am getting very confused with all of the searching I have done to find the answer so would really appreciate it if someone could point me in the right direction.
The aim is that B2 would be a 'Test Results' key. The 'C' keys would refer to dates and then the arrays within them would be the data of the results (single line sentences) for that dates tests
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: How to add to hash of a hash of an array. Confused.com!
by tangent (Parson) on Jun 13, 2013 at 10:19 UTC | |
|
Re: How to add to hash of a hash of an array. Confused.com!
by LanX (Saint) on Jun 13, 2013 at 10:19 UTC | |
|
Re: How to add to hash of a hash of an array. Confused.com!
by roboticus (Chancellor) on Jun 13, 2013 at 11:38 UTC | |
|
Re: How to add to hash of a hash of an array. Confused.com!
by Anonymous Monk on Jun 13, 2013 at 10:16 UTC |