Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer

Re^3: take 'n' array elements at a time

by Loops (Curate)
on Nov 18, 2014 at 20:31 UTC ( #1107637=note: print w/replies, xml ) Need Help??

in reply to Re^2: take 'n' array elements at a time
in thread take 'n' array elements at a time


Well that code is a step in the right direction. Couple things though, you can put the test inside the while loop instead of using "last". You can grab the first 9 items off of the array and delete them from the array in one operation using splice. This lets you avoid using the "@i" array. So:

my @array = map {$_ * 10} 1 .. 20; # test data while (@array > 8) { print join "\n", splice(@array,0,9); print "\n--------------------\n"; }

Note that if the array isn't divisible by 9, the last few items will be silently ignored. If you'd rather see them, it's safe to just omit the "> 8".. splice will return whatever remains even though it's not the full 9 items.

Replies are listed 'Best First'.
Re^4: take 'n' array elements at a time
by fionbarr (Friar) on Nov 18, 2014 at 21:55 UTC
    lovely! adding 'splice' to my lexicon thanks

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1107637]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (3)
As of 2022-08-19 06:08 GMT
Find Nodes?
    Voting Booth?

    No recent polls found