[Israel.pm] Array of file handles
Shlomi Fish
shlomif at iglu.org.il
Mon Dec 13 06:16:08 PST 2004
On Monday 13 December 2004 15:56, David Baird wrote:
> Can anyone explain why the following isn't valid:
>
> my $files = 8;
>
> my (@fharray);
> (my $basename = $0) =~ s/\.[^.]*$//;
>
> for my $h (0 .. ($files - 1)) {
> unlink "${basename}_$h.mif";
> open $fharray[$h], ">${basename}_$h.txt";
> print $fharray[$h] "file $h\n";
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
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.
Regards,
Shlomi Fish
---------------------------------------------------------------------
Shlomi Fish shlomif at iglu.org.il
Homepage: http://www.shlomifish.org/
Knuth is not God! It took him two days to build the Roman Empire.
More information about the Perl
mailing list