How can I reset a hash completely without using a for loop?

Viewed 17378

I would like to completely reset my %hash so that it does not contain keys or values at all. I prefer to use a one-liner than have to use a loop.

So far I have tried:

%hash = 0;
%hash = undef;

But these both throw errors in strict mode with warnings enabled, so I wrote a simple for loop to achieve the same thing:

for (keys %hash) {
    delete $hash{$_};
}

This works but I would really like to do this with a one-liner. Is there a way to simply reset a hash that I am overlooking?

7 Answers
Related