The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Pod::Weaver::Plugin::Eval - (DEPRECATED) Evaluate code

VERSION

This document describes version 0.03 of Pod::Weaver::Plugin::Eval (from Perl distribution Pod-Weaver-Plugin-Eval), released on 2016-10-14.

SYNOPSIS

In your weaver.ini:

 [-Eval]
 include_modules = ^Foo::Bar$
 ;include_files  = REGEX
 code = sub { my ($self, %args)=@_; use Module::Load; load $args{module}; my $document = $args{document}; push @{$document->children}, ... }

DESCRIPTION

DEPRECATION NOTICE: This module is deprecated in favor of Pod::Weaver::Plugin::Run.

This plugin evaluates Perl code specified in your weaver.ini (or dist.ini). It can be used to do various stuffs that might be too trivial/short to build a dedicated Pod::Weaver::Plugin for.

I first created this module to insert list of border styles and color themes contained in %border_styles package variable in Text::ANSITable::BorderStyle::* modules and %color_themes variable in Text::ANSITable::ColorTheme::* modules.

Yes, it's a dirty (and ugly) hack. But it's quick :-)

CONFIGURATION

include_files => STR

Value should be a regex, e.g. /Foo/Bar/.

include_modules => REGEX

Value should be a regex, e.g. ^Foo::Bar$.

code => STR

Should be something like:

 sub { my ($self, %args) = @_; ... }

sub { and } will be added if code does not have it. Code will be called with %args containing these keys:

  • filename => STR

  • package => STR

  • module => STR

    Alias for package.

  • args => ARRAY

    The original @_ passed to weave_section(). Note that weave_section() is passed:

     ($self, $document, $input)
  • document => OBJ

    Document object passed to weave_section(). This is the output POD we are building and this is what we're mostly interested in, usually. It can also be retrieved from args.

  • input => OBJ

    The input object passed to weave_section(). It contains information about the input (original) document. Can also be retrieved from args.

HOMEPAGE

Please visit the project's homepage at https://metacpan.org/release/Pod-Weaver-Plugin-Eval.

SOURCE

Source repository is at https://github.com/sharyanto/perl-Pod-Weaver-Plugin-Eval.

BUGS

Please report any bugs or feature requests on the bugtracker website https://rt.cpan.org/Public/Dist/Display.html?Name=Pod-Weaver-Plugin-Eval

When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.

SEE ALSO

Pod::Weaver

Pod::Weaver::Plugin::Run

AUTHOR

perlancar <perlancar@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2016 by perlancar@cpan.org.

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