in reply to Is hash evaluated with in double quotes
Someone else beat me to it... Data::Dumper.
Perl does not take it upon itself to “know how to” print everything. It has a certain built-in way to “stringify” various things, and you've already seen what it does by-default for a hashref.
For a situation like yours, several good possibilities have already been suggested. Take your pick.
I think that this is also a good place to say, use CPAN, frequently and aggressively. Anytime you suspect that “someone must have already encountered and tackled this problem,” rest assured that they have, and you'll find it (maybe dozens of flavors of it...) on CPAN. Get in the habit of looking there first.