my @array = 1..10; sub { while ( my @chunk = splice @_, 0, 2 ) { print "Chunk: @chunk\n"; } }->( @array ); print "Original array is still intact! (@array)\n";