aboutsummaryrefslogtreecommitdiff
path: root/src/test/perl/SimpleTee.pm
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/perl/SimpleTee.pm')
-rw-r--r--src/test/perl/SimpleTee.pm27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/test/perl/SimpleTee.pm b/src/test/perl/SimpleTee.pm
new file mode 100644
index 00000000000..8d31a4013c8
--- /dev/null
+++ b/src/test/perl/SimpleTee.pm
@@ -0,0 +1,27 @@
+# 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;
+ }
+ return $ok;
+}
+
+1;