shift - remove the first element of an array, and return it
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 in the main program, and the @_ array in subroutines.
(This is determined lexically.) See also
do the same thing to the left end of an array
do to the right end.