in reply to my $var = ''; vs. use constant VAR => '';

From perldoc constant

"These constants do not directly interpolate into double-quotish strings, although you may do so indirectly."

There might be a bit of a performance hit when using the constants approach, but I doubt it's *huge* and you are protected from accidentally altering your constants.

"edited" by (arturo) hisself ... sorry, I thought I'd broken the lines up correctly and it showed up fine in my browser.

Replies are listed 'Best First'.
Re: Re: my $var; vs. use constant VAR = '';
by MeowChow (Vicar) on Apr 27, 2001 at 01:12 UTC
    Actually constants are faster, since use constant simply turns them into constant subs (for versions of Perl that support this):
    sub CONST_NAME () { 'value' }
    IIRC, this form is optimized by the Perl compiler such that there are no hits to the symbol table in dereferencing the value; it would be as if you typed the constant value in as a literal, much like a preprocessor #DEFINE macro.

    update: Looks like I was wrong, my variables are actually a hair faster than both constants and even literal values.

       MeowChow                                   
                   s aamecha.s a..a\u$&owag.print