Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Comment on

( #3333=superdoc: print w/ replies, xml ) Need Help??
And while I agree that the program does not contain bugs *now*, not declaring variables can become a habit and someday create a BIG problem in a large program (trivial mistake: misspelling), which could've been avoided with "use strict".
I never said 'use strict' wasn't a good idea. I just want to point out 'use strict' isn't a magical bullet - it doesn't find all the bugs people something think 'use strict' will avoid, and it has its share of false negatives as well.
It's all about personal preferences, after all. I prefer to use the abilities of Perl to force myself to write flawless programs that do not have syntax errors, do not produce warnings, and do not have (hopefully) logical errors.
That's exactly the sentiment I warn against. There is no such ability in Perl. 'use strict' or 'use warnings' don't force you to write flawless programs. They certainly don't prevent you to write syntax errors (and if you do, they don't find them either - the compiler will though). 'use strict' is more like a harsh driving school teacher that slaps you and puts the car in neutral when you don't look in the mirrors. But just looking in the mirror won't prevent you from crashing the car - and you're a worse driver if you think all you need to do is look in the mirror. Looking in the mirror is a good thing, but it doesn't stop there.
Warnings, as I've mentioned, are a different story. I do not turn them on until I've dealt with errors since I believe that getting rid of warnings is a stage when I "polish" the program to make it not only working, but "flawlessly working".
I have a hard time of believing that's an efficient way of developing a program. I always start with 'use warnings', and then when a warning pops up, I fix the cause, or (locally) turn of the warning, whatever is appropriate.
If you prefer to have flexibility at expense of possibility to introduce hard-to-find errors that could've been avoided in the first place, that's your choice. I'm just providing the grounds/reasons for mine.
Once again, I'm not advocating to leave out 'use strict'. I'm just pointing out it's just a tool - not a magic bullet.

In reply to Re^7: On Commenting Out 'use strict;' by Anonymous Monk
in thread On Commenting Out 'use strict;' by Old_Gray_Bear

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • Outside of code tags, you may need to use entities for some characters:
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?
    Username:
    Password:

    What's my password?
    Create A New User
    Chatterbox?
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others avoiding work at the Monastery: (7)
    As of 2014-09-22 21:35 GMT
    Sections?
    Information?
    Find Nodes?
    Leftovers?
      Voting Booth?

      How do you remember the number of days in each month?











      Results (203 votes), past polls