I remember digging into it myself and becoming more and more confused in the past...

Maybe some historical background is helpful.

IIRC were lexical filehandles (with private variables and strict) only introduced with Perl5 (not even the first versions)

They are held in one of the 6 slots of a typeglob and were referenced by a uppercase bare word like "FH" named like the glob.

So writing FH meant using *FH{IO} like calling a sub "func()" meant using *func{CODE}->(). °

In order to be able to pass a filehandle as argument to a sub, you had to write *FH.

With Perl 5 came the need for lexical my $fh and avoiding typeglobs altogether while staying backwards compatible.

Now that's how the mess with alternative syntax started, and the docs retain a lot of old wording.

Ikegami already listed various different possibilities to denote a filehandle.

DISCLAIMER:

That's what I understood in the last 10 years lurking here in the monastery, I never coded Perl 4, so some details may be wrong.

Cheers Rolf
(addicted to the Perl Programming Language :)
Wikisyntax for the Monastery

°) I think even this hash-like syntax to address slots in a glob didn't exist back then...


In reply to Re: (Some) inconsistencies with IO built-ins, their documentation and filehandle names ("symbolic references") by LanX
in thread (Some) inconsistencies with IO built-ins, their documentation and filehandle names ("symbolic references") by vr

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.