P0w3rK!d has asked for the wisdom of the Perl Monks concerning the following question:
Hello,
I built a hash as follows:
I built a hash as follows:
When I attempt to reference the hash I get the following:# build hash while() { ... $hshFoo{$key1}{$key2} = $strFileName; ... # key1 is a number # key2 is a sequential number }
foreach $key (keys %hshFoo) { print " $key => $hshFoo{$key}\n"; }
Output: 6137 => HASH(0x1ddba60) 2823 => HASH(0x1ddbd18) 6598 => HASH(0x1ddbc88) 4156 => HASH(0x1ddbd00)Whereas "HASH(0x1ddba60)" contains:
6137 => 0 => file1.xml 1 => file2.xml 2 => file3.xmlWhat is the best way to reference the 2nd hash? I tried to create a temp hash of $hshFoo{$key} to loop through, but that failed. I need to be able to reference the 2nd key+value pair; in this case of the hash "HASH(0x1ddba60)". I tried this also...
foreach $key2 (keys $hshFoo{$key}) { ... } Type of arg 1 to keys must be hash (not hash element) at foo.pl line 341, near "}) " BEGIN not safe after errors--compilation aborted at foo.pl line 431.
-P0w3rK!d
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Referencing a HoH
by kilinrax (Deacon) on May 07, 2003 at 17:38 UTC | |
by P0w3rK!d (Pilgrim) on May 07, 2003 at 17:49 UTC | |
Re: Referencing a HoH
by Aristotle (Chancellor) on May 07, 2003 at 17:41 UTC | |
by P0w3rK!d (Pilgrim) on May 07, 2003 at 17:50 UTC | |
Re: Referencing a HoH
by Enlil (Parson) on May 07, 2003 at 17:41 UTC | |
by P0w3rK!d (Pilgrim) on May 07, 2003 at 17:55 UTC | |
by Mr. Muskrat (Canon) on May 07, 2003 at 17:57 UTC | |
Re: Referencing a HoH
by artist (Parson) on May 07, 2003 at 18:00 UTC | |
by P0w3rK!d (Pilgrim) on May 07, 2003 at 18:11 UTC | |
by Zed_Lopez (Chaplain) on May 07, 2003 at 18:21 UTC | |
Re: Referencing a HoH
by linux454 (Pilgrim) on May 07, 2003 at 19:50 UTC |
Back to
Seekers of Perl Wisdom