Well, the answer from "received wisdom" is that maintenance
often involves adding or modifying functionality, which
may entail using new variables, and if there's no clear
pattern for making up variable names, and you're not paying
attention, ... etc.
in reply to Re: local vs my
in thread local vs my
But your point is well taken, and it's worth noting
that even without "use strict", you can still declare
variables with "my" to get the intended effect of scoping,
just to make sure a newly added variable doesn't trounce a "legacy"
variable that happens to have the same name.