From perldoc -f open:
As a special case the 3 arg form with a read/write mode and the third argument being "undef": open(TMP, "+>", undef) or die ... opens a filehandle to an anonymous temporary file. Also using "+<" works for symmetry, but you really should consider writing something to the temporary file first. You will need to seek() to do the reading.
If FILEHANDLE is an undefined scalar variable (or array or hash element) the variable is assigned a reference to a new anony- mous filehandle,
In any case IMHO you should either do some checks or rely on Perl's automagic ARGV.

Update: I realized now that you were talking about somebody else's code and you were concerned about the lack of checks yourself in the first place. Also, I removed the unrelevant portions of the quote.

Update2: I knew the answer but in a hurry I quoted the wrong portion of perldoc -f open. There's a lesson in this: never rely too much on searching for 'anonymous'...


In reply to Re: 3-arg open() does not give warnings!? by blazar
in thread 3-arg open() does not give warnings!? by graff

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.