which in this case needs to be an HTML form so that I know the status of the perl script
First, output 512 bytes to make browsers render. Some browsers will never render until the page is loaded completely (like Konqueror), but this works with at least Mozilla and MSIE.
Then, start outputting.
It's a very good idea to set $| to 1, to avoid all buffering. You could use javascript to make it look good.
#!/usr/bin/perl -w
use strict;
$|++;
sub set_status {
my ($status) = @_;
print '<script> document.getElementById("status").innerHTML = "' .
$status . '"; </script>"';
}
print qq{Content-Type: text/html\n
<html><body><div style="font-size:288pt;">
Current status:
<div id=status>Initialising</div>
<!-- }, "Z" x 512, q{ -->
</div></body></html>
};
sleep 2;
set_status 'RUNNING';
sleep 5;
set_status 'COMPLETE';
U28geW91IGNhbiBhbGwgcm90MTMgY
W5kIHBhY2soKS4gQnV0IGRvIHlvdS
ByZWNvZ25pc2UgQmFzZTY0IHdoZW4
geW91IHNlZSBpdD8gIC0tIEp1ZXJk
-
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.
|