<snip>
> Alternately, you could say:
> 
> $track ||= '';
> 
> right before the next time you use foo after the split. I dont know why this
> works offhand, I just remember reading in the docs somewhere that its exempt
> from warnings. But for me, that is crossing over into the land of ugly =0).
</snip>

$track ||= '';

is equivalent to 

$track = $track || '';

which is equivalent to 

if ($track) {
        $track = $track;
} else {
        $track = '';
}

Since undef is false $track gets set to ''.  If $track had held
something that was not false it would stay the same.

N.B. this trick is dangerous WRT zero.  Zero is false which means it
will get replaced with '' in the code above.  In Perl 6 we will have a
new operator called "//" that will check whether or not an expression is
defined (as opposed to true). 

-- 
Today is Setting Orange the 19th day of Confusion in the YOLD 3168
Or is it?

Missile Address: 33:48:3.521N  84:23:34.786W


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to