Ok, i think I know what the problem is now.
I tested my code (guess i was too lazy before).
The problem seems to be the size of the resulting display
data. 1 to 5 just wan't enough. I changed the code to
iterate from 1 to 500000 and removed the sleep (it works
with the sleep, but for me 66 lines had to be printed
before anything would display).
My guess is that the browser also has a buffer.
The amount of data sent must first fill this buffer
before the browser will attempt to display the data
it has recieved.
I also discovered when testing my suggestion that on
the command line the script buffers the results until
it is complete (on the 1-5 iteration). Adding the
$| = 1; you had in the code originally helped this.
It doesn't seem to make a difference with the large
incrementation set.
I know it's not line by line output, but with straight
cgi it's probably the best that can be had. Hope it helps.
3 buffers: (+ how to defeat)
- Webserver
nph-scriptname.pl
CGI->nph(1)
$q->header(-nph=>1)
- Perl
$| = 1
- Browser
probably can't affect this
P.S.- as i finish this the test script is on "Line 854" |