my %foo; my $bar = { key1 => "value 1", }; $foo{key2} = "value 2"; $$bar{key3} = "value 3"; $$bar{key4} = { key5 => "value 5", }; $$bar{key4}->{key6} = "value 6"; $$bar{key4}{key7} = "value 7"; # simpler syntax use Data::Dumper; print Dumper( \%foo, \$bar );