http://qs1969.pair.com?node_id=11146472


in reply to Re: why can't I shift a split?
in thread why can't I shift a split?

#print "\n", shift(234, 4, 55, 1900);        # Error: Can't overwrite the array, because it's fixed.

shift works by default on @_ in a subroutine (also true of pop) so you could use an on-the-fly sub to operate on a list.

johngg@aleatico:~$ perl -Mstrict -Mwarnings -E ' my @arr = ( 234, 405, 55, 1900 ); say shift @arr; say sub { shift }->( 234, 405, 55, 1900 ); $_ = q{ab,ce ef}; say sub { shift }->( split m{,} );' 234 234 ab

I hope this is helpful.

Update: Corrected typo, s{on (?=by default)}{}.

Cheers,

JohnGG