I was testing what I thought I was testing. What I don't understand is why Perl can't or doesn't optimize this case.
Now if only I can learn to read the output of Benchmark.
-- gam3
A picture is worth a thousand words, but takes 200K.
Note that the hash creation/deletion can only be optimized away if the content of the hash is constant (ie it would require extra analyzing code). I would guess it's possible to optimize it, but I don't think your construct is widely used (it's also fairly limited, since you can only access the hash once before it goes out of scope), so it probably won't really solve any "real-world" performance issues.
As for the Benchmark output, I always find the "Rate - XXXX/s" results the easiest to interpret: those are just the number of calls completed per second, so higher is faster.