http://www.perlmonks.org?node_id=88621


in reply to Re: Encoding wonders
in thread Encoding wonders

I don't understand why it opens itself. Why does opening "a string" append a $ and then treat it as a variable?

Replies are listed 'Best First'.
Re: Re-2: Encoding wonders
by dimmesdale (Friar) on Jun 15, 2001 at 03:58 UTC
    From the perlfunc::open section of the site(aslo the perl manpages):
    If EXPR is omitted, the scalar variable of the same name as the FILEHANDLE contains the filename.
    That means that if an open is called like open 0 then 0 is the filehandle, and the "scalar variable" to open. Take, for instance, this example from perlfunc::open:
    $ARTICLE = 100; open ARTICLE or die "Can't find article $ARTICLE: $!\n"; while (<ARTICLE>) {...
    If your asking why, as in why is it that way, I'd presume its for brevity and ease, as in:
    $LOG = '/path/to/log/file/'; open LOG;
      It's probably one of those assume-for-you shortcuts that either didn't take off, nobody remembers anymore, or is from one of the source lanauges.