Filehandles are an operating system resource, and like other resources like RAM and active processes, are limited. Unless you free them yourself, they are freed for other users when your program exits.

Sometimes, it makes a lot of applicative sense to keep a filehandle open. For example, if you write to standard output or to your own log file, you probably shouldn't close and reopen the file on every write; that's just needless overhead. But in other occasions you're supposed to close a handle when you're done. With files there's sometimes also the consideration of locking. If another process wants to access the file but you've not only opened it but acquired an exclusive lock on it, the other process will have to wait for you to free.

For casual scripting, keeping a file open until your script ends, assuming it just runs for a few seconds, is probably okay. For anything else, you need to consider how you're using the resource.


In reply to Re: What happens when I use a filehandle by gaal
in thread What happens when I use a filehandle 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.