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
@_ array within the lexical scope of subroutines and
formats, and the @ARGV array outside a subroutine
and also within the lexical scopes
established by the evalSTRING
, BEGIN {}
, INIT {}
, CHECK {}
,
UNITCHECK {}
, and END {}
constructs.

Starting with Perl 5.14, an experimental feature allowed
shift to take a
scalar expression. This experiment has been deemed unsuccessful, and was
removed as of Perl 5.24.