in reply to Read Every n elements from Array

There's nothing wrong with using splice (unless you want the operation to be non-destructive, which you haven't specified).

Another solution would be List::MoreUtils's natatime.  The example in the docs does more or less exactly the same that your code is doing.