Perfect time to get on the high horse. I have two points of view, but I'll state this much. When writing perl, stick to objects, simple hashes and simple arrays along with references. It prevents you from writing hashes of hashes, which is error-prone. What if you misspell a key? More reason to hate hashes for non-internal reasons (in method/code block) only. I remember once i returned a hash, tried to use one of the keys, it was mispelled, had a false sense of how the code worked, thus creating harder to maintain code as well as buggy. ... but we all have our preferences.
But anyway, lemme jump to the other horse. It sounds like you guys need a small committee, 2 or 3, to write a coding standards doc. Level the playing field so that everyone knows how to pass data around, how to name functions, etc etc... That's ALL that is needed. So if someone uses a hash of hashes, and it says it is or isn't in the coding doc, you can point it out, and help that person learn that it's ok to use.