I have to admit that I searched for 'CGI' & 'progress' - I completely overlooked the prime requirement i.e. _browser_ progress reporting, so the server push probably ought not to be a surprise.
As to your supplementary question, 'tis a good guestion well asked !! :-D
If you are fortunate enough to find/develop a solution, please be sure to enlighten some/all of the monks by posting it [the solution] here (on the monastry) - esp. if it's a perl based solution.
A user level that continues to overstate my experience :-))