Thank you very much for discussion and benchmarks!
I was simply
upsolving a competitive programming problem which had 1000 ms time limit and big tests with undirected graphs (tries). After my solution with
%hash = () got a verdict time-limit-exceeded, I tried to find how to optimise it. And it was surprising for me,
when I found that my program is running ~20% faster when I change to
undef %hash, got verdict accepted in 850 ms on max tests. Both variations didn't influence a correctness of an algorithm, only running time. I used %hash as global (here it didn't influence solving time comparing with declaring with 'my').
I'm happy that in newer versions optimisation took place, as
dave_the_m have mension. I thought maybe it is unknown or unoptimized thing.
edited