What I\'m looking for is something like:
@list = qw(1 2 3 4 5 6);
foreach (@list) {
#perl magic goes here
print \"i: $i, j:$j\\n\";
}
I believe the proper way to do this is to use natatime, from List::MoreUtils:
from the docs:
natatime BLOCK LIST
Creates an array iterator, for looping over an array in chunks of
$n
items at a time. (n
at a time, get it?). An example is probably a better explanation than I could give in words.
Example:
my @x = ('a' .. 'g');
my $it = natatime 3, @x;
while (my @vals = $it->())
{
print "@vals\n";
}
This prints
a b c d e f g
The implementation of List::MoreUtils::natatime:
sub natatime ($@)
{
my $n = shift;
my @list = @_;
return sub
{
return splice @list, 0, $n;
}
}