Particularly if the filename is determined from the command line, you want to do as perlsyn says and put an error check on the open which specifies all of the following:
  1. What you were doing.
  2. What the filename is.
  3. The contents of $!.
In this particular case I think it is also probably worthwhile to have a usage check to inform the user if they call the script with an invalid argument. The obvious alternative is to insert a question in the die which asks them if they called it with the argument that they were supposed to.

There are very few ideas that I consider more important in writing useful code than trying to make your code debuggable when things go wrong...


In reply to Re (tilly) 1: The file I want to open must be determined by a command line argument by tilly
in thread The file I want to open must be determined by a command line argument by Awk-dogg

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.