Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Answer: How to deal with undefined returned variables.

( #149483=categorized answer: print w/ replies, xml ) Need Help??

Q&A > subroutines > How to deal with undefined returned variables. contributed by Russ

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!

Comment on Answer: How to deal with undefined returned variables.
Select or Download Code
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.

Log In?
Username:
Password:

What's my password?
Create A New User
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (12)
As of 2015-07-02 18:46 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (44 votes), past polls