SPUG: defaulting a value

Michael R. Wolf MichaelRWolf at att.net
Tue Oct 28 23:52:08 CST 2003


Tim Maher <tim at consultix-inc.com> writes:

>     ! defined $debug  and  $debug = 0;    # 'cuz used in number ">"

Somehows the following feel better to my English ears, even though
they're DeMorgan Perl equivalents:

    defined $debug or $debug = 0;
    $debug = 0 if !defined $debug;
    $debug = 0 unless defined $debug;

But I've also seen the following to set a default.

   $page_width ||= 80;

Of course, it doesn't differentiate between a defined zero as
different from undefined.
   
Anyone remember the status of // as an or-ish operator? If's it's
available pre-Perl6, then the following would be my suggestion for
defaulting an undefined value, but preserving 0 (not necessary in this
case, but is necessary in the general case):

    $debug //= 0;


-- 
Michael R. Wolf
    All mammals learn by playing!
        MichaelRWolf at att.net




More information about the spug-list mailing list