in reply to hash inside hash inside hash

Could you clarify what you mean by 'travel'? Like, you want to print out all the keys and their values? Or, do you want just 'Value 1', 'Value 2', 'Value 3'? In general, an easy way to display hash contents is to Data::Dumper.
use Data::Dumper; #define your hash here %HOH = ( Pegname1 => { section1 => { val1 => 'Value 1' }, section2 => { val2 => 'Value 2' } section3 => { val3 => 'Value 3' } Pegname2 => { section1 => { val1 => 'Value 1' }, section2 => { val2 => 'Value 2' } section3 => { val3 => 'Value 3' } ) #print its contents print Dumper(\%HOH);

For your second question, I'd suggest you look at Programming Perl, and check out the chapter on complex lists (i.e. arrays of arrays, hashes of hashes, hashes of arrays, etc.).

-- Burvil