use strict; use warnings; use DBM::Deep; my $db_file = 'href_nocopy'; { my $db = DBM::Deep->new( $db_file ); $db->{key} = {}; } print "\nDeleting $db_file\n"; unlink( $db_file ) || warn $!; # succeeds $db_file = 'href_copy'; { my $db = DBM::Deep->new( $db_file ); $db->{key} = {}; my $db2 = $db->{key}; } print "\nDeleting $db_file\n"; unlink( $db_file ) || warn $!; # fails (permission denied) $db_file = 'nonref_copy'; { my $db = DBM::Deep->new( $db_file ); $db->{key} = 1; my $db2 = $db->{key}; } print "\nDeleting $db_file\n"; unlink( $db_file ) || warn $!; # succeeds