in reply to hash of hashes and memory space...

They are separate variables/constructs. The entry in the hash for key is just a reference aka pointer to the subhash. For example:

my %hash; $hash{key}{subkey}=123; my $f= $hash{key}; $hash{key}= undef; #moving the subhash print $f->{subkey}; #would print 123

Now the code above shows really nothing as this could all be done by internal magic, but in truth internally they are separate too.

BUT... internally nearly everything is separate, even a variable name and its value. Or the hash (which is a big table of "buckets") and the hash values are in separate memory locations, in the bucket is only a pointer to the actual value.

Replies are listed 'Best First'.
Re^2: hash of hashes and memory space...
by ikegami (Patriarch) on Mar 23, 2010 at 18:51 UTC

    in the bucket is only a pointer to the actual value.

    Not even. The bucket is a pointer to a linked list of nodes, one of which in turn points to a key structure and to the value.

    illguts