in reply to 'use strict' Rejecting Local Hash

What does strict say? Oh, it says that local won't pass. And local tells you rather bluntly that you probably should be using my.

Of course the site documentation is out of date, you can get documentation that is current for your site with:

perldoc strict perldoc -f local perldoc -f my
As for the reason for the behaviour, it is because local came first and has to be supported for backwards compatibility, and my is more recent. So we cannot change what local does and are limited to scattering around various hints (say in what strict does, in what the documentation says, etc) that my is what people are looking for.

Good monk Dominus wrote a very good article explaining all of this called Coping with Scoping. I highly recommend it.