#sample set up a hash of hashes my %h = ( key1 => { subkey11 => subval11, subkey21 => subval21 }, key2 => { subkey12 => subval12, subkey22 => subval22 }, ); #access it print $h{key1}->{subkey11}; #loop it for ( keys %{$hash->{key2}} ) { print $hash->{key2}->{$_}; }