http://www.perlmonks.org?node_id=527692


in reply to Re: Tie a hash of hashes?
in thread Tie a hash of hashes?

Is that module going to work in this situation?

The module's description on CPAN says it doesn't work when creating a hash reference, which is what I'm doing, isn't it?


When I try it with this code:
use Data::Dumper; use Tie::Autotie 'Tie::IxHash'; tie %data, 'Tie::IxHash'; do "File"; print Dumper \%data;
I get the following output:
$VAR1 = { 'SomeStuff' => {}, 'SomeMoreStuff' => {} };
Which seems to support the module's description that its not going to work in this situation.

Replies are listed 'Best First'.
Re^3: Tie a hash of hashes?
by japhy (Canon) on Feb 03, 2006 at 16:05 UTC
    Tie::IxHash doesn't even work in that situation. The problem is that when you use a hash reference altogether -- that is, $hash{x} = { ... } -- you are creating a hash reference in Perl, and that is not "caught" by Tie::IxHash. You can't achieve the desired goal the way File is set up. You'll need to change it, no matter what you do.

    Jeff japhy Pinyan, P.L., P.M., P.O.D, X.S.: Perl, regex, and perl hacker
    How can we ever be the sold short or the cheated, we who for every service have long ago been overpaid? ~~ Meister Eckhart