in reply to ||= (poorly documented?)
You are almost correct in understanding how it works. Whatever is on the right side of the ||= operator is used if the left side evaluates to undef, like you said; however, it is also used if the left evaluates to false.
my $string; $string ||= "Oh noes! Your variable was undef or false!";
I believe //, on the other hand, only tests for whether the left side is defined (but not for truthiness).
|
---|