in reply to XML::Simple and output
This is one of the idiosyncrasies of Perl syntax: when printing to a filehandle, there must be no comma between the filehandle and the format string. See printf.
Update 1: See also the comment at the end of brian_d_foy’s 2005 thread Perl oddities:
You don't put a comma between the filehandle name and the list you give to print. I've just always thought that was odd, and I go out of my way to point it out to people in Perl classes. I don't have a problem with this while I code, but I still think it's an odd corner of syntax.
Update 2: With the comma, Perl thinks the filehandle is the first thing to be printed, so it stringifies it and prints the string to STDOUT. You can see this by doing it explicitly, like this:
18:09 >perl -we "open my $fh, '<', 'Test1.txt'; printf '%s', $fh;" GLOB(0x2fc0a4) 18:13 >
Hope that helps,
| Athanasius <°(((>< contra mundum | Iustus alius egestas vitae, eros Piratica, |
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: XML::Simple and output
by soonix (Chancellor) on Feb 16, 2014 at 16:10 UTC | |
by choroba (Cardinal) on Feb 16, 2014 at 20:14 UTC | |
by soonix (Chancellor) on Feb 17, 2014 at 08:14 UTC | |
|
Re^2: XML::Simple and output
by expat (Initiate) on Feb 17, 2014 at 01:17 UTC |