in reply to Re: unshift single scalar
in thread unshift single scalar

I saw that in the docs but it did not explain what it was, but it says this:

Starting with Perl 5.14, unshift can take a scalar EXPR, which must hold a reference to an unblessed array. The argument will be dereferenced automatically. This aspect of unshift is considered highly experimental. The exact behaviour may change in a future version of Perl.

But that is a winner, it works.

Replies are listed 'Best First'.
Re^3: unshift single scalar
by Not_a_Number (Prior) on Aug 09, 2014 at 19:14 UTC

    No. When the docs say 'unshift can take a scalar EXPR', they mean as the first argument, eg:

    my $ref = [ 2, 3 ,4 ]; unshift $ref, 1;

    But that's probably too much information. What you need to understand is that the standard (non-experimental) syntax for unshift is:

    unshift ARRAY,LIST

    It so happens (as is often the case) that the LIST that you want to add at the beginning of your ARRAY consists of just one element (namely 'Top').

    Maybe the doc for unshift could benefit from a less obscure example of usage?