Urm... the filehandle for
stat, actually for
-s, works for me.
open OUT, ">test.txt";
for (1 .. 1000) {
print OUT "Hello, Perlmonks!\n" x 10;
print -s OUT;
}
It works, but
-s is indeed set according to the buffer size, and not according to the already printed output:
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4096
4096
4096
4096
4096
4096
4096
4096
...
With $| set to a true value it'll work less coarse, but most likely quite a bit slower:
open OUT, ">test.txt";
my $fh = select OUT;
$| = 1;
select $fh;
for (1 .. 1000) {
print OUT "Hello, Perlmonks!\n" x 10;
print -s OUT;
}
192
384
576
768
960
1152
1344
1536
1728
1920
2112
2304
...
I think the coarse version is still fine enough.