Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic

Re: Why use strict is good, and barewords are bad

by jhourcle (Prior)
on Apr 22, 2005 at 00:38 UTC ( #450243=note: print w/replies, xml ) Need Help??

in reply to Why use strict is good, and barewords are bad

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;'

Replies are listed 'Best First'.
Re^2: Why use strict is good, and barewords are bad
by merlyn (Sage) on Apr 22, 2005 at 01:09 UTC

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://450243]
Discipulus the pope is the last good politic here around..sigh
[Discipulus]: erix the right order of books is: The Three Musketeers, Twenty Years After, The Count of Moret; The Red Sphinx (not in the cycle but a must read!), The Vicomte de Bragelonne

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (8)
As of 2017-05-24 07:11 GMT
Find Nodes?
    Voting Booth?