in reply to limit output filesize
If you have control over your prints, you also have the ability to check the lengths of the strings you're printing, which you can then use to keep track of how large the file is.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);
Of course, you'll need to do (one) initial stat if you begin by appending to an existing file.
|
|---|