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).
In reply to Re: ||= (poorly documented?)
by frozenwithjoy
in thread ||= (poorly documented?)
by live4tech
For: | Use: | ||
& | & | ||
< | < | ||
> | > | ||
[ | [ | ||
] | ] |