in reply to 'print' to cgi like in terminal ("real-time") ?
That's not the way the web works. Conceptually, web pages are served up whole. Most web browsers do actually render pages incrementally, showing the start of a page while the end is still downloading; but they don't do so consistently enough to be able to rely on this behaviour for your purposes.
That said, your desired end result can be achieved. It's just not simple, is likely to require a lot of rewriting for your script, and is probably more effort than it's worth. So you shouldn't bother.
Here's a general outline of how you'd do it. I'm not going to elaborate any further, and any requests for elaboration only go to prove that you'd ignored my overall advice not to bother!
First, split the script into two different parts:
Then create another CGI script, which when visited does the following:
Note I've consistently said filename, not file path. The filename should not include a directory portion. All the scripts should be hard-coded to read from a particular directory set aside for just this purpose. And your Reporter and Workhorse should validate that the filename they receive doesn't contain slashes or "..". This should prevent people using your Reporter to peek at other files on your system that you don't want them to have access to.
You probably also want to run a cron job on the server to mop up any temporary files older than, say, two hours. And if you know your Workhorse occasionally goes into an endless loop or otherwise spins off out of control, then you may also want a cron job to detect runaway horses and kill them.
If you were using a server environment with some persistence for Perl processes (e.g. mod_perl) instead of CGI, then this would be somewhat easier.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: 'print' to cgi like in terminal ("real-time") ?
by iMisspell (Novice) on Jun 30, 2012 at 01:59 UTC | |
|
Re^2: 'print' to cgi like in terminal ("real-time") ?
by Anonymous Monk on Jun 29, 2012 at 08:36 UTC |