in reply to Array of Hashes or Hash of Arrays
How would you get at a value from an Array of Hashes? You would first have to specify one of the hashes in the array and then the value in that particular hash. So, first an array access, then a hash access, right? A Hash of Arrays would be the other way round, first a hash access, then an array access.
Now as in any computer language I know expressions are evaluated from inner to outer braces, for example 2+5 would be the first do be evaluated in (3+(7*(2+5)+4)). So look at your expression, what is the innermost expression, an array or hash access? What is the outer expression, array or hash access? Once you know that you know what structure it is.