unlox775 has asked for the wisdom of the Perl Monks concerning the following question:

I've made a new module, Tie::MorphHash to use @ISA inheritance on package global hashes ( of hashes...) using tie(). It works great until you have 3 levels of @ISA inheritance. At that point, this code breaks:
use Data::Dumper qw(Dumper); print Dumper $cc::zz{key1}{subkey1};
but this code which *should* be functionally identical, works fine:
use Data::Dumper qw(Dumper); my $key1 = $cc::zz{key1}; print Dumper $key1->{subkey1};
To get the whole source for the example download:

http://unlox775.8m.com/morphhash_error.tgz

I've tried to boil down the problem as much as I can. I have a bunch of debugging code strewn through the Tie::MorphHash. Is this just an internal perl bug? Please help. Thank you in advance.