in reply to printing the hash contents in mail

you could just use Data::Dumper and print Dumper( \%structure ) or YAML, which will produce a text representation of the structure... YAML will be somewhat more pretty, but Data::Dumper is far more in-core

you could also write a recursive sub to dump it ...

later YAML also provides a method called Dumper so it will play nice with code that's used to using Data::Dumper

@_=qw; ask f00li5h to appear and remain for a moment of pretend better than a lifetime;;s;;@_[map hex,split'',B204316D8C2A4516DE];;y/05/os/&print;