#!/usr/bin/perl use strict; use warnings; use CGI; # unbuffer output $|++; print $q->header(). $q->start_html. $q->start_form({-name=>'statusform'}). $q->textfield('status','',50,50). $q->end_form; for (0..100) { print_status("$_\% completed"); sleep(1); } print $q->end_html; exit(0); sub print_status { my $status = $_[0]; $status =~ s/'/\\'/g; print $q->script({-language=>'javascript'}, "document.statusform.status.value = '$status'\n" ); }