=over

=item push ARRAY,LIST
X<push> X<stack>

=item push EXPR,LIST

Treats ARRAY as a stack by appending the values of LIST to the end of
ARRAY.  The length of ARRAY increases by the length of LIST.  Has the same
effect as

    for $value (LIST) {
        $ARRAY[++$#ARRAY] = $value;
    }

but is more efficient.  Returns the number of elements in the array following
the completed C<push>.

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

To avoid confusing would-be users of your code who are running earlier
versions of Perl with mysterious syntax errors, put this sort of thing at
the top of your file to signal that your code will work I<only> on Perls of
a recent vintage:

    use 5.014;	# so push/pop/etc work on scalars (experimental)

=back