You could use a classic C-style loop, and array slicing:
my @a=(0..12); # Admittedly, not the best choice for variable names...
my @b;
for (my $i=0; $i <= $#a; $i+=5) {
push @b,join(',', @a[$i..$i+4]);
print qq[ $i:$a[$i]=@b \n];
}
# @b ends up with comma-separated, 5-element (or less for last chunk)
+ chunks of @a
Update: This is NON-Destructive on @a, compared to the
ikegami's solution above. Not that there is anything wrong with being destructive, if you know what you are doing.
"As you get older three things happen. The first is your memory goes, and I can't remember the other two... "
- Sir Norman Wisdom