in reply to Re^2: Perl Style: Is initializing variables considered taboo?
in thread Perl Style: Is initializing variables considered taboo?
Applications are especially when passing "positional" lists or assigning to lists, with "gaps".
i.e.
or($a,undef,$b)=@array; # ignore second parameter
function($a,undef,$b) {..} # treat second parameter as not suppl +ied
The latter is especially necessary if you are checking arguments within the sub for definedness and changing to default values.
UPDATE: An extension of this case is a hash or array element which exists but is not defined!
> Of course I use strictures in all my code!
it's more about use warnings to be warned about undefined variables.
UPDATE:
and please be careful not to return undef to "explicitly" return false.
Subs return lists, so what you are actually doing is returning a one-element list instead of an empty one. I.e. @array=func();
Using a blank return is the same like return (); and won't byte you in list context but in scalar context the variable will be undef anyway.
Cheers Rolf
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^4: Perl Style: Is initializing variables considered taboo?
by TomDLux (Vicar) on Aug 22, 2010 at 01:49 UTC | |
|
Re^4: Perl Style: Is initializing variables considered taboo?
by ait (Hermit) on Aug 22, 2010 at 16:47 UTC | |
by chromatic (Archbishop) on Aug 23, 2010 at 00:24 UTC | |
by LanX (Saint) on Aug 23, 2010 at 10:08 UTC | |
by ait (Hermit) on Aug 25, 2010 at 00:32 UTC |