Stuart White wrote: > I've a problem that I think is best solved with > multi-dimensional hashes. However, the reference that > I'm using doesn't really cover them. Does anyone know > where I might find some tutorial article of some sort > with an example or two on multi-dimensional hashes? > > I know that the syntax for referring to an element > within the inner hash is: > $hash1[$hash2[$hash2key]]
Careful about "knowing" things, Stuart. It is hanging you up. There are no multidimensional hashes in the sense that you are trying to use them. Please stop wasting your time on that tack, and put your energy into the more productive path of learning references. Only the outer hash in a multidimensional hash can be a hash itself. Hashes can not be stored inside of either arrays or other hashes. That is a dead end. OTOH, *references to hashes* can be stored anywhere a scalar can, which means that you can build multidimesional hash structures to depths limited only by the resources of your computer. Given that you will be using references throughout the internal structure of your hash, you may as well start out with a reference: my $md_hash_base = {}; # $md_hash_base is now a reference to the anonymous hash on the right. $md_hash_base->{'kid'} = {}; # first generation $md_hash_base->{'kid'}->{'grandkid'} = {}; $md_hash_base->{'kid'}->{'grandkid'}->{'great grandkid'} = {name => 'Humphrey', birthweight => '3.82 KG'}; print "$md_hash_base->{'kid'}->{'grandkid'}->{'great grandkid'}->{'birthweight'}\n"; my $little_un = $md_hash_base->{'kid'}->{'grandkid'}->{'great grandkid'}; print "$little_un->{'name'}\n"; Joseph -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]