use strict; use warnings; my $fname = 'myfile'; my $limit = 50 * 1024; my ($size, $fc, $handle, $printstr) = (0, 1); open ($handle, ">$fname$fc"); for (1..100) { $printstr = '-'x1000 . "\n"; if ($limit < $size + length($printstr)) { close($handle); $size = 0; $fc++; open ($handle, ">$fname$fc"); } print $handle $printstr; $size += length($printstr); } close($handle);