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.
In Section
Seekers of Perl Wisdom