use Test::More tests => 2; sub undef_hash { my $ref = shift; undef $ref; } sub assign_hash { my $ref = shift; %$ref = (); } my $hash_one = { qw( foo bar baz quux ) }; undef_hash( $hash_one ); is( keys %$hash_one, 2, 'undef on hash reference should not clear it' ); my $hash_two = { qw( foo bar baz quux ) }; assign_hash( $hash_two ); is( keys %$hash_two, 0, 'assigning empty list to hash reference should clear it' );