#!/usr/bin/perl use POSIX; my @outfile = ('file1.txt', 'file2.txt', 'file3.txt' , 'file4.txt'); my $infile = 'infile.txt'; my $lineno = 0; open (my $ifh, '<', $infile); while (<$ifh>) { my $out = $outfile[floor($lineno / 5)]; open (my $fh, '>>', $outfile[floor($lineno / 5)%4]) or die "Unable to open outfile"; print $fh $_; close $fh; $lineno++; } close ($ifh);