in reply to Hierarchial data structures

You are only getting the pseduo-hash warning because at one point you are creating an array reference whose first element is a hash, then later, treating that array as a hash, eg
$ perl588 -we'$h{a}[0]{b} = 1; $h{a}{x}{y}=2' Pseudo-hashes are deprecated at -e line 1. No such pseudo-hash field "x" at -e line 1. $
if you treat it consistently as an array you won't get the warning. Other than that, I don't really understand your question. All I can really say is that you can easily have an arbitrary heirarchy of arrays and hashes. This:
$galaxy{solarsystem}{planet}[year]{lat}{long}=’foo’;
should just Do the Right Thing, as long as you don't later start doing {year}

Dave.