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]

Reply via email to