local $/ = \500; #### #!/usr/bin/perl -w use strict; use warnings; local $/ = \500; open IN, '<', 'bigfile.csv' or die $!; my @values; while (my $line = ) { push @values, split /,/, $line; while (@values > 10) { print join(',',@values[0..9]), "\n"; @values = @values[10..@values-10]; } } close IN or die $!;