in reply to Why doesn't this for loop work like I expect?
I chose while for this so that the loop will only continue while there are still elements in @files. I use the shift-or construct just in case the number of elements in @files is not a multiple of $num_cols. I push a reference onto @data because it's conceptually clearer to me (and it doesn't expand @bb into a list and then make that into an anonymous list).while (@files) { my @bb; for (1 .. $num_cols) { my $file = shift @files || last; push @bb, $file; } push @data, \@bb; }
splice is your best solution, though.
|
|---|