in reply to query on hash understanding

$foo{bar}{baz} is the same as $foo{bar}->{baz}
$ perl -le " $foo{bar}{baz} = 6; print $foo{bar}->{baz}; " 6
See References quick reference and other links below like Data::Diver, TutorialsData Types and VariablesData Type: ArrayData Type: HashReferences quick reference

More elaborate and coprehensive tutorial in http://learn.perl.org/books/beginning-perl/, Learn Perl in about 2 hours 30 minutes, perlintro, chromatics free book Modern Perl a loose description of how experienced and effective Perl 5 programmers work....You can learn this too.