[Israel.pm] Array of file handles

Offer Kaye offer.kaye at gmail.com
Mon Dec 13 06:43:09 PST 2004

On Mon, 13 Dec 2004 16:16:08 +0200, Shlomi Fish wrote:
> The problem is in this line. You need to write it as:
> print {$fharray[$h]} "file $h\n";
> I guess Perl frowns upon the print statement's filehandle being anything other
> than a simple variable if the braces are to be omitted.

No need to guess - this is writen explicitly in "perldoc -f print":
               FILEHANDLE may be a scalar variable name, in which case
               the variable contains the name of or a reference to the file-
               handle, thus introducing one level of indirection. 
               Note that if you're storing FILEHANDLES in an array or other
               expression, you will have to use a block returning its value

                   print { $files[$i] } "stuff\n";

Offer Kaye

More information about the Perl mailing list