http://www.perlmonks.org?node_id=75529


in reply to Getting information from an array of hashes

When you assign to hash like that, Perl is expecting to see an even-number-sized list of elements to put in the hash- key/ value pairs. If $diary_data[0] is a reference (it is) to the array where the key/value pairs are (this I don't know), then you'll want to use
@{$diary_data[0]};
This resolves the pointer/reference and "enters" the array into the hash as key/value pairs. Then your print statements will work fine. Also, be sure to use strict;, use warnings;, and use diagnostics; for better error-reporting, though I'm not sure if you've already throw those in.

Update: Ovid's node is probably right, now that I reread your statement "returns array of hashes".

Update2: AgentM wins! Fatality!

AgentM Systems nor Nasca Enterprises nor Bone::Easy nor Macperl is responsible for the comments made by AgentM. Remember, you can build any logical system with NOR.