http://qs1969.pair.com?node_id=11134131


in reply to splitting 2D array into chunks

I really do not understand your requirements. My best guess is you want to partition the array @arr1 according to the specification in the first column of array @a1. (and @arr2 according to the second column.) The 'end' indicies in @arr2 follow the math convention of 'start-at-one' rather than Perl's 'start-at-zero'. You are having a problem with the partitioning, not writing to files. The following code only does @arr1 and does not produce exactly what you expect. I hope you can use it as an example when you repost your question.
use strict; use warnings; my @arr1 = 'a' .. 'j'; my @al = ( # Arr1 Arr2 [ 3, 4 ], [ 5, 5 ], [ 6, 6 ], [ 8, 10 ], ); my $start = 0; my $end = 0; for my $i (0 .. $#al) { $end = $al[$i][0]-1; print @arr1[$start .. $end], "\n"; $start = $end+1; }

OUTPUT:

abc de f gh
Bill