foreach my $line () #### use strict; open FH, "foo" or die "Can't open: $!"; my @recs; while () { chomp; push @{$recs[int(($.-1) / 5)]}, split /,?\s/; } close FH or die "Can't close: $!"; open FH, ">foo.new" or die "Can't open: $!"; print FH map join('|', @$_) . "\n", @recs; close FH; #### @$ref[0..4] #### @$ref