If someone can't be bothered to use strict; use warnings; what makes you think they'll be bothered to use 5.12; instead? cavac's point was the on-by-default aspect and I agree that a major version bump is precisely the time to revisit such a beneficial but backwards-incompatible change.
It's hardly such a great task to mitigate either. If someone really wanted to run code without the safety net then all they need to do is add no strict; no warnings; and they're done.
| [reply] [d/l] [select] |
Exactly. When/If we do a major version bump, we might as well make it easier for newcomers to the language.
In my opinion, there are very few cases where "no strict" is useful - and pretty much everyone experienced enough to play around with those would "use strict" at the beginning of their code anyway and use the "no strict" directive in a narrow scope.
And yes, i agree, making "use strict; use warnings;" the default might break some code. But frankly, if it doesn't work in strict mode, it's probably already broken beyond repair, just nobody has noticed because strict and warnings weren't turned on ;-)
Heck, we might even throw in an automatic "use English" and change the docs to show that using the english name rather than cryptic stuff like "$!" is the way of the future.
perl -e 'use MIME::Base64; print decode_base64("4pmsIE5ldmVyIGdvbm5hIGdpdmUgeW91IHVwCiAgTmV2ZXIgZ29ubmEgbGV0IHlvdSBkb3duLi4uIOKZqwo=");'
| [reply] [d/l] |