Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re: Re: Re: Location of 'use' statements

by perrin (Chancellor)
on Apr 19, 2003 at 16:16 UTC ( #251677=note: print w/ replies, xml ) Need Help??


in reply to Re: Re: Location of 'use' statements
in thread Location of 'use' statements

The problem with "use constant" is that the constants are implemented as subroutines. This means that they break (silently) if you try to use them as hash keys, in double-quoted strings, or any other place where barewords are not interpreted as sub calls.

If you use global variables instead, everyone knows what they are and you avoid these bugs which tend to catch every user of constant at least once.


Comment on Re: Re: Re: Location of 'use' statements
Re: Re: Re: Re: Location of 'use' statements
by demerphq (Chancellor) on Apr 19, 2003 at 17:41 UTC

    This means that they break (silently) if you try to use them as hash keys, in double-quoted strings, or any other place where barewords are not interpreted as sub calls.

    Hmm. *grin* I can't recall being bitten by those things. I've used constants for array indexes on occasion, but never hash indexes. But its good to keep in mind. Thanks.


    ---
    demerphq

    <Elian> And I do take a kind of perverse pleasure in having an OO assembly language...

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://251677]
help
Chatterbox?
and the web crawler heard nothing...

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

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











    Results (176 votes), past polls