1 package Filter::Keyword;
3 use Filter::Util::Call;
4 use Filter::Keyword::Parser;
7 has parser => (is => 'ro', required => 1);
9 has parser_object => (is => 'lazy');
11 sub _build_parser_object {
13 my %args = %{$self->parser};
14 $args{reader} = sub { my $r = filter_read; ($_, $r) };
18 my ($string, $code) = $parser->get_next;
23 Filter::Keyword::Parser->new(\%args);
28 my $parser = $self->parser_object;
30 my ($string, $code) = $parser->get_next;