Your approach is really good if, all in all, what you need is to always reach the leaves of the tree --your structure is tree-like in fact
But, say you have a three-level hash. If you need to get an hash that lies in the middle, say /a/b your code soon gets complicated, while with real HoH you could simply write something like %b = %{$a->{b}}
But if you are ready to pay the tradeoff of slowness and complicateness, you probabily want to write a "driver" object, maybe one that you could tie your hashes to: you keep working with HoH on the front-end, and get with a flat hash on the back-end. But I'm not a tie expert so I can't tell if it is possible at all :-)
Cheers!
--bronto
The very nature of Perl to be like natural language--inconsistant and full of dwim and special cases--makes it impossible to know it all without simply memorizing the documentation (which is not complete or totally correct anyway).
--John M. Dlugosz
In reply to Re: flattening Complex Datastructures
by bronto
in thread flattening Complex Datastructures
by Ctrl-z
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |