#!/usr/bin/perl
my $r = shift;
use CGI;
local our $cgi = new CGI;
our $action = "";
$action = $cgi->param("action") || 'test_code';
if ( $action eq "test_code" ) {
test_code ();
}
elsif ( $action eq "run" ) {
test_prog ($cgi);
}
sub test_code
{
# my ($cgi_sub) = @_;
my $cgi_sub = new CGI;
print $cgi_sub->header();
print $cgi_sub->start_html( -title => 'Javascript calls from Perl' );
print $cgi_sub->h2("test code");
print $cgi_sub->div($cgi_sub->font({-face=>'Arial'},"Status: "));
print $cgi_sub->start_form();
print $cgi_sub->submit(-name=>'action',-value=>'run');
print $cgi_sub->end_form();
print $cgi_sub->end_html();
}
sub test_prog
{
my ($cgi_sub) = @_;
print $cgi_sub->header();
print $cgi_sub->start_html( -title => 'Javascript calls from mod_perl' );
print $cgi_sub->h2("test code");
print <<"EOT" ;
EOT
for (my $i = 1; $i <= 6; $i++){
if ($i == 6){
newstatus("Aggregating Data...");
sleep (2);
newstatus("Analyzing Data...");
sleep (2);
newstatus("Finished \(this text is from the server\)");
}
else {
newstatus("Querying " . "$i" . " out of 5 suppliers");
sleep (1);
}
}
print $cgi_sub->start_form();
print $cgi_sub->submit(-name=>'action',-value=>'run');
print $cgi_sub->end_form();
print $cgi_sub->end_html();
}
sub newstatus {
my ($s) = @_;
print <<"EOT" ;
EOT
$r->rflush;
}