John W. Krahn wrote:
Rob Dixon wrote:
If you miss out the comma with
print $1 "\n"
then Perl looks at this as a method call on $1 as an IO::Handle object, or
$1->print("\n");
No.
perldoc -f print
print FILEHANDLE LIST
print LIST
print Prints a string or a list of strings. Returns true if
successful. FILEHANDLE may be a scalar variable name, in which
case the variable contains the name of or a reference to the
filehandle, thus introducing one level of indirection.
If the comma is missing then the first scalar or bareword argument is treated
as a filehandle.
Hmm. Well if I was wrong I'd like to be corrected, but it certainly /looks/ and
/behaves/ like indirect-object method call syntax, and the equivalent arrow
syntax works and does the same thing. But whether it's really a method call
under the hood I'm not absolutely certain, especially when there are oddities
like
print(STDOUT "text\n");
working fine. Whatever it is, it certainly stops being either a list operator or
a function call, so what else can it be?
Rob
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>