Basically, no, you can't use a constant as the first argument to unshift because unshift modifies its first argument and you can only modify variables. unshift (("Top"), @output) fails for the same reason that 3 += 1 fails.

However, despite your first example (with the "wasteful" @array variable), your English description of what you want to accomplish (putting 'Top' at the start of @output) sounds like you may just have your arguments to unshift in the wrong order. The first argument is the array to modify, the second is the list of items to prepend to the array, so you would use unshift @output, 'Top' even though the end result is to modify @output to contain ('Top', @output). (In your first example, while it is syntactically valid, the end result is that @output is unmodified and @array ends up with the contents (@output, 'Top'), not ('Top', @output).)


In reply to Re: unshift single scalar by dsheroh
in thread unshift single scalar by Bodger

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.