$hash{ 'key1' }{ 'key2' } #### $hash{ 'key1' } = 'foo'; $hash{ 'key1' }{ 'key2' } = 'bar'; # (2) # (2) means find %(current pkg)::foo and do $(current pkg)::foo{ 'key2' } = 'bar'; #### my %hash; $hash{ 'key1' } = {}; ## ref to hash $hash{ 'key1' }->{ 'key2' } = 'foo'; ## above equivalent to my %hash = ( key1 => { key2 => 'foo' } ); #### $hash{ 'key1' } = 'foo'; $hash{ 'key1', 'key2' } = 'bar'; #### my %hash = ( food => { name => 'Apple', color => 'Red' } ); my $food = $hash{ 'food' }; print "$food->{ 'color' } $food->{ 'name' }\n";