bionic (3) Pod::Elemental::Selectors.3pm.gz

Provided by: libpod-elemental-perl_0.103004-1_all bug

NAME

       Pod::Elemental::Selectors - predicates for selecting elements

VERSION

       version 0.103004

OVERVIEW

       Pod::Elemental::Selectors provides a number of routines to check for Pod::Elemental paragraphs with given
       qualities.

SELECTORS

       Selectors are predicates:  they examine paragraphs and return either true or false.  All the selectors
       have (by default) names like: "s_whatever".  They expect zero or more parameters to affect the selection.
       If these parameters are given, but no paragraph, a callback will be returned that will expect a
       paragraph.  If a paragraph is given, the selector will return immediately.

       For example, the "s_command" selector expects a parameter that can be the name of the command desired.
       Both of the following uses are valid:

         # create and use a callback:

         my $selector = s_command('head1');
         my @headers  = grep { $selector->($_) } @paragraphs;

         # just check a paragraph right now:

         if ( s_command('head1', $paragraph) ) { ... }

       The selectors can be imported individually or as the "-all" group, and can be renamed with Sub::Exporter
       features.  (Selectors cannot yet be curried by Sub::Exporter.)

   s_blank
         my $callback = s_blank;

         if( s_blank($para) ) { ... }

       "s_blank" tests whether a paragraph is a Generic::Blank element.

   s_flat
         my $callback = s_flat;

         if( s_flat($para) ) { ... }

       "s_flat" tests whether a paragraph does Pod::Elemental::Flat -- in other words, is content-only.

   s_node
         my $callback = s_node;

         if( s_node($para) ) { ... }

       "s_node" tests whether a paragraph does Pod::Elemental::Node -- in other words, whether it may have
       children.

   s_command
         my $callback = s_command;
         my $callback = s_command( $command_name);
         my $callback = s_command(\@command_names);

         if( s_command(undef, \$para) ) { ... }

         if( s_command( $command_name,  \$para) ) { ... }
         if( s_command(\@command_names, \$para) ) { ... }

       "s_command" tests whether a paragraph does Pod::Elemental::Command.  If a command name (or a reference to
       an array of command names) is given, the tested paragraph's command must match one of the given command
       names.

AUTHOR

       Ricardo SIGNES <rjbs@cpan.org>

       This software is copyright (c) 2014 by Ricardo SIGNES.

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