![]() |
|
Keep It Simple, Stupid | |
PerlMonks |
IO::MultiHandle - Operate on multiple file handles as oneby jdporter (Canon) |
on Nov 19, 2002 at 19:11 UTC ( #214219=snippet: print w/replies, xml ) | Need Help?? |
=head1 NAME
IO::MultiHandle - Encapsulate multiple handles in one.
=head1 SYNOPSIS
use IO::MultiHandle;
my $logfh = IO::File->new( "> $outfile" ) or die "write $outfile:
+$!";
# create a multi-handle which will write to both
# STDERR and the filehandle created above:
my $mfh = new IO::MultiHandle *STDERR, $logfh;
print $mfh "A line of output.\n";
=cut
package Tie::MultiHandle; # do not use directly. use IO::Handle; sub TIEHANDLE { my $pkg = shift; bless [ @_ ], $pkg } sub AUTOLOAD { my( $self, @args ) = @_; our( $AUTOLOAD ); $AUTOLOAD =~ s/.*::(.*)/\L$1/; for my $fh ( @$self ) { $fh->$AUTOLOAD( @args ); } } sub DESTROY { } package IO::MultiHandle; use Symbol; # takes a list of handles sub new { my $pkg = shift; my $self = gensym; tie *$self, Tie::MultiHandle::, @_; bless $self, $pkg }
|
|