|Think about Loose Coupling|
...is there a reason to leave the use strict (or warnings) turned on?Flip that around -- why would you turn it off? If you can't justify turning it off, then it should stay on.
Brainstorming here, possible reasons to turn strict and warnings off:
Speed: Not performing all of those compile- and run-time checks is bound to improve speed. Only benchmarking will tell if it's a real gain or not.
Confusing users with warning messages: If code spits out warning messages, it should be for a good reason, and it should be meaningful to the user. For example, if the file doesn't exist, that's something the user should understand. If the Beeblebrox is in Ratzafratza, then maybe the message should be changed to something like:
The Beeblebrox is in Ratzafratza. This should never happen. Please contact the maintainer of this script.If your code sometimes innocuously spits out warnings that you know don't make any difference, for maintenance reasons you are better off to use no warnings around the offending statement, rather than turn off warnings everywhere.
Laziness: OK, I'm not sure how this would apply.
Hubris: Umm, I'm really not sure how this would apply.