
Jasmine
Administrator
Jan 26, 2001, 10:30 AM
Post #1 of 1
(1251 views)
|
|
How do I print to more than one file at once?
|
Can't Post
|
|
(From the Perl FAQ) How do I print to more than one file at once? If you only have to do this once, you can do this: for $fh (FH1, FH2, FH3) { print $fh "whatever\n" } To connect up to one filehandle to several output filehandles, it's easiest to use the tee(1) program if you have it, and let it take care of the multiplexing: open (FH, "| tee file1 file2 file3"); Or even: # make STDOUT go to three files, plus original STDOUT open (STDOUT, "| tee file1 file2 file3") or die "Teeing off: $!\n"; print "whatever\n" or die "Writing: $!\n"; close(STDOUT) or die "Closing: $!\n"; Otherwise you'll have to write your own multiplexing print function -- or your own tee program -- or use Tom Christiansen's, at http://www.perl.com/CPAN/authors/id/TOMC/scripts/tct.gz, which is written in Perl and offers much greater functionality than the stock version.
|