Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Comment on

( #3333=superdoc: print w/ replies, xml ) Need Help??

But the first one doesn't work okay all the time.

Sure, the month example is always going to fail. (and you can't override a builtin so it works in that context, that I know of) But someone could modify something later, and add a function whose name conflicts with one of your bare words:

perl -e 'sub sat{}; @days = (sun,mon,tue,wed,thu,fri,sat); print "@days\n";'

Or, you use some module that polutes your namespace when you weren't expecting it.

Because Perl scripts aren't compiled, you can't be sure that the assumptions that you made at the time of writing the program (that the barewords weren't names of functions) are going to be true for the life of the script. It also doesn't help that context affects when barewords are always handled as strings:

perl -MData::Dumper -e '$ref->{time()} = time; print Dumper $ref;' perl -MData::Dumper -e '%hash=( time => time ); print Dumper \%hash;'


In reply to Re: Why use strict is good, and barewords are bad by jhourcle
in thread Why use strict is good, and barewords are bad by merlyn

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 romping around the Monastery: (10)
    As of 2014-09-16 17:19 GMT
    Sections?
    Information?
    Find Nodes?
    Leftovers?
      Voting Booth?

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











      Results (37 votes), past polls