Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re: Gez

by dash2 (Hermit)
on Mar 14, 2002 at 13:29 UTC ( #151663=note: print w/ replies, xml ) Need Help??


in reply to Have CGI call script, display status in browser

Sounds like you've got a misunderstanding.

Point the form you are submitting to the cgi script you want to run. E.g. <form action='foobar.cgi' method='post'>

Then make the script parse the form inputs and print out an HTML page. E.g.

#!/usr/bin/perl -w # this is foobar.cgi use strict; # untested use CGI; my $cgi = new CGI; print $cgi->header, $cgi->start_html; print "You entered " . $cgi->param('form_input_name') . "<br>"; print $cgi->end_html; exit;

No need to use system. dave hj~


Comment on Re: Gez
Select or Download Code
Re: Re: Gez
by Anonymous Monk on Mar 14, 2002 at 14:15 UTC
    Sorry, I should have been more specific The perl script I am trying to start from a submit button, creates text files based on data read from a database, then saves these files to disk. Its output just prints 'RUNNING', and 'COMPLETE' to STDOUT, which in this case needs to be an HTML form so that I know the status of the perl script

      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
      

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://151663]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (8)
As of 2014-12-20 15:08 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (96 votes), past polls