Pod::Abstract::Filter(3)

NAME
Pod::Abstract::Filter - Generic Pod-in to Pod-out filter.

DESCRIPTION
This is a superclass for filter modules using Pod::Abstract. Subclasses should override the "filter" sub. Pod::Abstract::Filter classes in the Pod::Abstract::Filter namespace will be used by the "paf" utility.

To create a filter, you need to implement:

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.

    It is recommended your filter method produce a Node tree if you are able to, as this will improve interoperability with other "Pod::Abstract" based software.

require_params
    If you want positional arguments following your filter in the style of:

     paf find [thing] Pod::Abstract

    then override require_params to list the named arguments that are to be accepted after the filter name.

METHODS

  new
Create a new filter with the specified arguments.

  plugins_info
 my $info = Pod::Abstract::Filter->plugins_info;

Gets information for each paf command/plugin.

  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 "-flag=xxx" notation.

  param
Get the named param. Read only.

  filter
Stub method. Does nothing, just returns the original tree.

  run
Run the filter. If $arg 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).

AUTHOR
Ben Lilburne <bnej80@gmail.com>

COPYRIGHT AND LICENSE
Copyright (C) 2009-2025 Ben Lilburne

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.