=over =item shift ARRAY X =item shift EXPR =item shift Shifts the first value of the array off and returns it, shortening the array by 1 and moving everything down. If there are no elements in the array, returns the undefined value. If ARRAY is omitted, shifts the C<@_> array within the lexical scope of subroutines and formats, and the C<@ARGV> array outside a subroutine and also within the lexical scopes established by the C, C, C, C, C and C constructs. Starting with Perl 5.14, C can take a scalar EXPR, which must hold a reference to an unblessed array. The argument will be dereferenced automatically. This aspect of C is considered highly experimental. The exact behaviour may change in a future version of Perl. See also C, C, and C. C and C do the same thing to the left end of an array that C and C do to the right end. =back