With legacy code, and things like this that don't make sense superficially, think about other elements that might have been there before that needed disambiguation, but were changed to what you see.

Here's an overly dramatic explanation of a different kind. Just imagine that originally there was an empty hash constructor, with a leading plus: +{}. Sometime later it was changed to an empty array, +[]. Since the expression compiled with the plus, and didn't change the result, it was overlooked by the author and left to furrow future brows.

(I must admit Poe's Dupin is my favorite detective, even above Sherlock, precisely for this mind-reading ability, fantastic as it must be.)

-QM
--
Quantum Mechanics: The dreams stuff is made of


In reply to Re: Array Plus Operator by QM
in thread Array Plus Operator by SleepyJay

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • 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:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.