.\" Automatically generated by Pod::Man 4.11 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Pod::Abstract::Filter 3pm" .TH Pod::Abstract::Filter 3pm "2020-05-17" "perl v5.30.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" Pod::Abstract::Filter \- Generic Pod\-in to Pod\-out filter. .SH "DESCRIPTION" .IX Header "DESCRIPTION" This is a superclass for filter modules using Pod::Abstract. Subclasses should override the \f(CW\*(C`filter\*(C'\fR sub. Pod::Abstract::Filter classes in the Pod::Abstract::Filter namespace will be used by the \f(CW\*(C`paf\*(C'\fR utility. .PP To create a filter, you need to implement: .IP "filter" 4 .IX Item "filter" Takes a Pod::Abstract::Node tree, and returns either another tree, or a string. If a string is returned, it will be re-parsed to be input to any following filter, or output directly if it is the last filter in the list. .Sp It is recommended your filter method produce a Node tree if you are able to, as this will improve interoperability with other \f(CW\*(C`Pod::Abstract\*(C'\fR based software. .IP "require_params" 4 .IX Item "require_params" If you want positional arguments following your filter in the style of: .Sp .Vb 1 \& paf find [thing] Pod::Abstract .Ve .Sp then override require_params to list the named arguments that are to be accepted after the filter name. .SH "METHODS" .IX Header "METHODS" .SS "new" .IX Subsection "new" Create a new filter with the specified arguments. .SS "require_params" .IX Subsection "require_params" Override to return a list of parameters that must be provided. This will be accepted in order on the command line, unless they are first set using the \f(CW\*(C`\-flag=xxx\*(C'\fR notation. .SS "param" .IX Subsection "param" Get the named param. Read only. .SS "filter" .IX Subsection "filter" Stub method. Does nothing, just returns the original tree. .SS "run" .IX Subsection "run" Run the filter. If \f(CW$arg\fR is a string, it will be parsed first. Otherwise, the Abstract tree will be used. Returns either a string or an abstract tree (which may be the original tree, modified). .SH "AUTHOR" .IX Header "AUTHOR" Ben Lilburne .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" Copyright (C) 2009 Ben Lilburne .PP This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.