EXPR1 ||= EXPR2 is sort of a super charged
EXPR1 = EXPR1 || EXPR2. However, if
EXPR1
is an array (say
@a), it would expand to:
@a = @a || EXPR2. Nothing wrong with the latter,
but the two
@a's are quite different. The one on
the left hand side is an lvalue in list context, the one
on right hand side of the assignment is in scalar context.
However,
EXPR1 ||= EXPR2 isn't syntactic
sugar for
EXPR1 = EXPR1 || EXPR2, because in the
latter,
EXPR1 is executed twice, in the former, just
once. But if
EXPR1 in
EXPR1 ||= EXPR2 is
only going to be executed once, what should it be? The scalar value, or the list value? Both are needed.
Abigail
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.