#!/usr/bin/perl -w is not something you should use. Specifically the -w in there will enable warnings for ALL code, which can include modules which were expressly written to run correctly without warnings (like Coro).

Not sure I follow your argument. I want warnings turned on. It has saved my butt many a time and yes I'm aware of the drawbacks.

For one example, "-w" catches all kinds of data errors, from premature EOF to non-numbers where you expect numbers, when you pass a file handle to someone else's code. You'll get false positives, but you will also get a hint where the problem lies when you are getting unexpected results. Fix the ones you care about, remove the "-w" when you're done, and there you go. Monstrosities like "strictures", which turn on all warnings but only in your code, will not only miss these errors, but complain about non-problems.