in reply to Data::Dumper and Hash of Hashes

We'd need to see the code where you create your hash to know what your problem is. This seems to work as I would expect:
#!/usr/bin/perl -w use strict; use Data::Dumper; my %data = ( A => { one => 1, two => 2, three => 3 }, B => { four => 4, five => 5, six => 6 }, C => { seven => 7, eight => 8, nine => 9 } ); print Dumper(\%data);
The output is:
$VAR1 = { 'A' => { 'three' => 3, 'one' => 1, 'two' => 2 }, 'C' => { 'nine' => 9, 'eight' => 8, 'seven' => 7 }, 'B' => { 'six' => 6, 'five' => 5, 'four' => 4 } };