aboutsummaryrefslogtreecommitdiff
path: root/src/test/perl/SimpleTee.pm
blob: 5da82d0f85d3d2b117b03063baebc5d303605458 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# A simple 'tee' implementation, using perl tie.
#
# Whenever you print to the handle, it gets forwarded to a list of
# handles. The list of output filehandles is passed to the constructor.
#
# This is similar to IO::Tee, but only used for output. Only the PRINT
# method is currently implemented; that's all we need. We don't want to
# depend on IO::Tee just for this.

package SimpleTee;
use strict;

sub TIEHANDLE {
	my $self = shift;
	bless \@_, $self;
}

sub PRINT {
	my $self = shift;
	my $ok = 1;
	for my $fh (@$self) {
		print $fh @_ or $ok = 0;
		$fh->flush or $ok = 0;
	}
	return $ok;
}

1;