The solution is pretty simple: if your code isn't doing what you expect, run it with "perl -w". This may point to your error (along with a bunch of other non-errors); if it does, you can fix it and move on without having to contort your code to placate warnings.
Re^4: RFC: Tutorial: use strict; now what!?
Download Code Replies are listed 'Best First'.
...and? Let's say you tried to log something undefined, so you passed it to your logging module. With "use warnings", you would see nothing; with "-w", you would get a message. Which do you prefer? (Or, perhaps, which is more "Modern"?)
Well, "perl -w" is "enabling warnings", too. I don't specifically care whether people use "use warnings", "-w" on the command line, or "-w" on the shebang line, as long as they do enable warnings when appropriate.
"When appropriate" is key. strict is useful (or at least harmless) most of the time; warnings is harmful more often, and useful less often. My point is that warnings can be helpful for finding bugs, but can also force you to change working code for no good reason. Don't use warnings; unless you understand what it does.
EDIT: Whee! Let's play the downvote game! If you want upvotes, it's important to follow Perlmonks dogma.