in reply to Complex Data Structures
One of the in-house modules I work with (and wrote) has arrayrefs and hashrefs nested about six deep in places. It's daunting when you look at it as a whole, but if you deal with it as an aggregate of dependent parts, rather than as a monolithic whole, it's quite manageable.
I tend to find that keeping track of several parallel "simple" data structures is more complex and error-prone than using a single, "complex" one. Inevitably, I modify one of the related structures without modifying the others in sympathy, and everything falls apart. (Maybe I'm misunderstanding your point?)
In Section Meditations