You've probably noticed how the following displays the number of lines read in from last read file handle is displayed along the program line number in a die.

while (<DATA>) { die "Error!" if $_ eq ".\n"; } __DATA__ a b c . d e
Error! at script.pl line 2, <DATA> line 4.

Further study shows this is not a property of the while.

<DATA>; die "Error!"; __DATA__ a b
Error! at script.pl line 2, <DATA> line 1.

The data line number appears as long as the file handle is still open.

<DATA>; close(DATA); die "Error!"; __DATA__ a b
Error! at script.pl line 3.

You can even play with the number!

<DATA>; $. = 100; die "Error!"; __DATA__ a b
Error! at script.pl line 3, <DATA> line 100.

Setting $. to 0 hides the message.

<DATA>; $. = 0; die "Error!"; __DATA__ a b
Error! at script.pl line 3.

Is it also possible to play with the filehandle name? For example, could perl be tricked (suing XS, surely) into displaying

Error! at script.pl line 3, filename.dat line 100.

In reply to Playing with "<FH> line 123" die messages by ikegami

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.