my $this = { 'name' => 'alex' }; my %that = %{ $this }; my $that = \%that; # now $that really is an independent copy, and: $that->{'name'} = 'madonna'; print $this->{'name'}; #alex # phew! I'm still me!