I ran this as a test:
#!/usr/bin/perl
use warnings;
use strict;
my $file_base = "output";
open( FILE, ">$file_base" ) or die "Unable to open $file_base for writ
+ing!\n$!\n";
for (1..100) {
print FILE "0" x 1024;
print "File Size: ".(stat($file_base))[7]."\n";
last if (stat($file_base))[7] > 50000;
}
close FILE or die "Error closing $file_base\n$!\n";
the output was as follows (abridged):
File Size: 0
File Size: 0
File Size: 0
File Size: 0
File Size: 4096
File Size: 4096
File Size: 4096
File Size: 4096
...
File Size: 49152
File Size: 49152
File Size: 49152
File Size: 53248
So it stopped close to, but not at, 50k because while the file is open, only full blocks are written. You may want to keep that in mind and make sure the cutoff is at the highest blocksize that is less than your threshold.
This is AIX 5.1 on a JFS2 file system. I won't be able to speak for others
Update:
as an aside $|++ did nothing for this
You could also keep tabs on your output size as well, if it is all under your control.
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|