Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

Re: Error in Camel Book Ver2?

by redcloud (Parson)
on Dec 21, 2000 at 10:14 UTC ( #47741=note: print w/replies, xml ) Need Help??

in reply to Error in Camel Book Ver2?

Well, look at that example line this way:

$pi ||= 3;

is like saying:

$pi = $pi || 3;

Now, the || operator short circuits if the first operand is true, so if $pi has any value that is true (i.e. it is not 0, "", or undef -- any others?) then the value of the right hand side will be $pi, otherwise it'll be 3. So, this is a way to say that the default value of $pi is 3, because that's what it'll be set to if it hasn't been set to something else already.

So, in your case, you might do:

$list_info{subscribed_message} ||= $subscribed_message;

Make sense?

Update:This doesn't work, though if "" is a valid value.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://47741]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (7)
As of 2016-10-28 20:51 GMT
Find Nodes?
    Voting Booth?
    How many different varieties (color, size, etc) of socks do you have in your sock drawer?

    Results (387 votes). Check out past polls.