in reply to Re^2: Why does eof have a prototype?
in thread Why does eof have a prototype?
That certain operators (eof, open, etc.) have prototypes that aren't adequate for representing the syntax of the operator is the premise of the question.
For example,
-
An overridden eof operator can't distinguish whether it was was called as eof or eof() while the real operator does.
-
open( STDERR , ">&=", STDOUT ) is perfectly valid with the real operator, but throws a strict error with an overridden open.
$ perl <<'.' use strict; open( STDERR , ">&=", STDOUT ); BEGIN { *CORE::GLOBAL::open = sub (*;$@) { } } open( STDERR , ">&=", STDOUT ); . Bareword "STDOUT" not allowed while "strict subs" in use at - line 4. Execution of - aborted due to compilation errors.
Upd: Fixed accidental double negation.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^4: Why does eof have a prototype?
by LanX (Sage) on Aug 09, 2022 at 17:59 UTC |
In Section
Seekers of Perl Wisdom