+# ----------------------------------------------------------------------------
+# The 'virtual' filehandle for zebra extract calls
+# ----------------------------------------------------------------------------
+package IDZebra::FilterFile;
+require Tie::Handle;
+
+our @ISA = qw(Tie::Handle);
+
+sub TIEHANDLE {
+ my $class = shift;
+ my $self = {};
+ bless ($self, $class);
+ $self->{filter} = shift;
+ return ($self);
+}
+
+sub READ {
+ my $self = shift;
+ return ($self->{filter}->readf(@_));
+}
+
+sub READLINE {
+ my $self = shift;
+ return ($self->{filter}->readline());
+}
+
+sub GETC {
+ my $self = shift;
+ return ($self->{filter}->getc());
+}
+
+sub EOF {
+ croak ("EOF not implemented");
+}
+
+sub TELL {
+ croak ("TELL not implemented");
+}
+
+sub SEEK {
+ croak ("SEEK not implemented");
+}
+
+sub CLOSE {
+ my $self = shift;
+}
+