/usr/share/perl5/Data/Stream/Bulk/Filter.pm is in libdata-stream-bulk-perl 0.11-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 | package Data::Stream::Bulk::Filter;
BEGIN {
$Data::Stream::Bulk::Filter::AUTHORITY = 'cpan:NUFFIN';
}
{
$Data::Stream::Bulk::Filter::VERSION = '0.11';
}
use Moose;
# ABSTRACT: Streamed filtering (block oriented)
use Data::Stream::Bulk;
use namespace::clean -except => 'meta';
has filter => (
isa => "CodeRef",
reader => "filter_body",
required => 1,
);
has stream => (
does => "Data::Stream::Bulk",
is => "ro",
required => 1,
handles => [qw(is_done loaded)],
);
with qw(Data::Stream::Bulk) => { -excludes => 'loaded' };
sub next {
my $self = shift;
local $_ = $self->stream->next;
return $_ && ( $self->filter_body->($_) || [] );
}
__PACKAGE__->meta->make_immutable;
__PACKAGE__;
=pod
=head1 NAME
Data::Stream::Bulk::Filter - Streamed filtering (block oriented)
=head1 VERSION
version 0.11
=head1 SYNOPSIS
use Data::Stream::Bulk::Filter;
Data::Stream::Bulk::Filter->new(
filter => sub { ... },
stream => $stream,
);
=head1 DESCRIPTION
This class implements filtering of streams.
=head1 ATTRIBUTES
=over 4
=item filter
The code reference to apply to each block.
The block is passed to the filter both in C<$_> and as the first argument.
The return value should be an array reference. If no true value is returned the
output stream does B<not> end, but instead an empty block is substituted (the
parent stream controls when the stream is depleted).
=item stream
The stream to be filtered
=back
=head1 METHODS
=over 4
=item is_done
=item loaded
Delegated to C<stream>
=item next
Calls C<next> on C<stream> and applies C<filter> if a block was returned.
=back
=head1 AUTHOR
Yuval Kogman <nothingmuch@woobling.org>
=head1 COPYRIGHT AND LICENSE
This software is copyright (c) 2012 by Yuval Kogman.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
=cut
__END__
|