f( splice(@a) ) #### $ perl -e' use strict; use warnings; use feature qw( say ); my @a = qw( a b c d ); say for @a, @a=(); say "--"; say for @a; ' Use of freed value in iteration at -e line 7. #### $ perl -e' use strict; use warnings; use feature qw( say ); my @a = qw( a b c d ); my @b = ( @a, @a=() ); say for @b; say "--"; say for @a; ' Use of uninitialized value $_ in say at -e line 8. Use of uninitialized value $_ in say at -e line 8. Use of uninitialized value $_ in say at -e line 8. Use of uninitialized value $_ in say at -e line 8. -- #### $ perl -e' use strict; use warnings; use feature qw( say ); my @a = qw( a b c d ); my $r = sub{ \@_ }->(@a); say for @a, @a=(); say "--"; say for @a; ' a b c d --