The webserver should normally terminate the CGI script in case the browser prematurely closes the connection.  So, you could try putting your cleanup code in an END { ... } block, which should execute upon termination of the CGI script.

In case that doesn't work, you'll probably also have to set up a signal handler (most likely for SIGTERM, but I haven't checked1) calling die or exit, which in turn will make the script terminate in a controlled fashion, so the END block executes.  (Details depend on the webserver, OS, etc.)

___

1 in a private msg Perlbotics noted (thanks!) that according to his observations, it would rather be SIGPIPE — which makes perfect sense, as the script would be trying to output to a broken pipe (presuming it hasn't already finished writing at the time...).


In reply to Re: How to ensure to close the opened files in cgi if browser is closed by almut
in thread How to ensure to close the opened files in cgi if browser is closed by chinu_regal

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.