in reply to How to deal with undefined returned variables.

knight makes a good point. Fortunately, in Perl 6, there will be a defaulting operator to simplify this very problem.
A binary // operator is the defaulting operator.
That is:
$a // $b
is short for:
defined($a) ?? $a :: $b
except that the left side is evaluated only once. It will work on arrays and hashes as well as scalars. It also has a corresponding assignment operator, which only does the assignment if the left side is undefined:
$pi //= 3;
Perl 6 should be such fun!

Replies are listed 'Best First'.
Re: Answer: How to deal with undefined returned variables.
by rinceWind (Monsignor) on Mar 06, 2002 at 17:00 UTC
    I take it that the difference between // and || is the difference between testing truthfulness and testing definedness.

    Hence there is not difference between $a // $b and $a || $b unless $a is 0 or "".

    It doesn't sound that useful to me.