my %h1 = ( k1 => "v1" );
my %h2 = ( k2 => \%h1 );
my %h3 = ( k3 => \%h2 );
%h3
+--------------------+
| +----------+ |
| k3 => | Ref ------------+
| +----------+ | |
+--------------------+ |
|
v
%h2
+--------------------+
| +----------+ |
| k2 => | Ref -----------+
| +----------+ | |
+--------------------+ |
|
v
%h1
+--------------------+
| +----------+ |
| k1 => | Str "v1" | |
| +----------+ |
+--------------------+
####
my %h4;
%h3
+--------------------+
| +----------+ |
| k3 => | Ref ------------+
| +----------+ | |
+--------------------+ |
|
%h4 |
+--------------------+ |
| | |
| | |
| | |
+--------------------+ |
|
v
%h2
+--------------------+
| +----------+ |
| k2 => | Ref -----------+
| +----------+ | |
+--------------------+ |
|
v
%h1
+--------------------+
| +----------+ |
| k1 => | Str "v1" | |
| +----------+ |
+--------------------+
####
%h4 = %h3;
%h3
+--------------------+
| +----------+ |
| k3 => | Ref -------------+
| +----------+ | |
+--------------------+ |
|
%h4 |
+--------------------+ |
| +----------+ | |
| k3 => | Ref -----------+ |
| +----------+ | | |
+--------------------+ | |
| |
v v
%h2
+--------------------+
| +----------+ |
| k2 => | Ref -----------+
| +----------+ | |
+--------------------+ |
|
v
%h1
+--------------------+
| +----------+ |
| k1 => | Str "v1" | |
| +----------+ |
+--------------------+
####
$h3{k3}{k2}{k1} = "v2";
%h3
+--------------------+
| +----------+ |
| k3 => | Ref -------------+
| +----------+ | |
+--------------------+ |
|
%h4 |
+--------------------+ |
| +----------+ | |
| k3 => | Ref -----------+ |
| +----------+ | | |
+--------------------+ | |
| |
v v
%h2
+--------------------+
| +----------+ |
| k2 => | Ref -----------+
| +----------+ | |
+--------------------+ |
|
v
%h1
+--------------------+
| +----------+ |
| k1 => | Str "v2" | |
| +----------+ |
+--------------------+
####
%h3
+--------------------+
| +----------+ |
| k3 => | Ref ------------+
| +----------+ | |
+--------------------+ |
|
v
%h2
+--------------------+
| +----------+ |
| k2 => | Ref -----------+
| +----------+ | |
+--------------------+ |
|
v
%h1
+--------------------+
| +----------+ |
| k1 => | Str "v2" | |
| +----------+ |
+--------------------+
%h4
+--------------------+
| +----------+ |
| k3 => | Ref ------------+
| +----------+ | |
+--------------------+ |
|
v
%anon
+--------------------+
| +----------+ |
| k2 => | Ref -----------+
| +----------+ | |
+--------------------+ |
|
v
%anon
+--------------------+
| +----------+ |
| k1 => | Str "v1" | |
| +----------+ |
+--------------------+