use 5.020; use strict; use warnings; my %deep = ( a => { aa => { aaa => 1, aab => 2, }, ab => 3, }, b => 4 ); use Data::Dumper; my $VAR1; # sonst beisst's den eval wegen use strict; my %ddclone = %{ eval Dumper(\%deep) }; use Storable qw(dclone); my %stclone = %{dclone \%deep};