Does the opposite of a shift
. Or the opposite of a push
, depending on how you look at it. Prepends list to the front of the array and returns the new number of elements in the array.
unshift(@ARGV, '-e') unless $ARGV[0] =~ /^-/;
Note the LIST is prepended whole, not one element at a time, so the prepended elements stay in the same order. Use reverse
to do the reverse.
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.