DiveVal(\%hash, map \$_, @elts) = $val; #### $hash{ $elts[0] }{ $elts[1] }...{ $elts[n-1] } = $val; #### foo.bar=val foo.bar.baz=val #### $hash{$new_key} = delete $hash{$old_key}; #### $hash{$new_key} = delete $hash{$old_key} if exists $hash{$old_key};