You can find the length of the upload by looking at $ENV{CONTENT_LENGTH}. If you call $q->upload_hook or CGI::upload_hook (depending on whether you are using the function interface or OO one) before attempting to read any parameters, then you can arrange for code to be run while it is uploading the files.

That code can try to send notifications back to the user, and you'll know exactly where you are in the process.

Note that you'll have to be very careful of buffering. It is very easy to accidentally buffer your output at various points (in your script or in the webserver) which would result in the user not getting any data until you're all done and are ready to send the main page.


In reply to Re: Deferred/selective processing in CGI.pm by tilly
in thread Deferred/selective processing in CGI.pm by Anonymous Monk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.