http://qs321.pair.com?node_id=47741


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.