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 at file scopes or within the lexical scopes established by the eval ''
, BEGIN {}
, END {}
, and INIT {}
constructs. See also unshift()
, push()
, and pop()
. Shift()
and unshift()
do the same thing to the left end of an array that pop()
and push()
do to the right end.