$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";