in reply to cgi write then rewrite

What you want to be searching for is non-parsed headers (NPH), to keep a script running and replacing the content on the browser by a push method.

using CGI.pm, I found this example:
#!/usr/local/bin/perl use CGI qw/:push -nph/; $| = 1; print multipart_init(-boundary=>'----here we go!'); foreach (0 .. 4) { print multipart_start(-type=>'text/plain'), "The current time is ",scalar(localtime),"\n"; if ($_ < 4) { print multipart_end; } else { print multipart_final; } sleep 1; }

Update: added code example

Tiago