Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

devel::patchperl::plugin(3pm) [debian man page]

Devel::PatchPerl::Plugin(3pm)				User Contributed Perl Documentation			     Devel::PatchPerl::Plugin(3pm)

NAME
Devel::PatchPerl::Plugin - Devel::PatchPerl plugins explained VERSION
version 0.72 DESCRIPTION
This document explains the Devel::PatchPerl plugin system. Plugins are a mechanism for providing additional functionality to Devel::PatchPerl. Plugins are searched for in the Devel::PatchPerl::Plugin namespace. INITIALISATION
The plugin constructor is "patchperl". A plugin is specified using the "PERL5_PATCHPERL_PLUGIN" environment variable. It may either be specified in full (ie. "Devel::PatchPerl::Plugin::Feegle") or as the short part (ie. "Feegle"). $ export PERL5_PATCHPERL_PLUGIN=Devel::PatchPerl::Plugin::Feegle $ export PERL5_PATCHPERL_PLUGIN=Feegle When Devel::PatchPerl has identified the perl source patch and done its patching it will attempt to load the plugin identified. It will then call the class method "patchperl" for the plugin package, with the following parameters: 'version', the Perl version of the source tree; 'source', the absolute path to the Perl source tree; 'patchexe', the 'patch' utility that can be used; Plugins are called with the current working directory being the root of the Perl source tree, ie. "source". Summarised: $ENV{PERL5_PATCHPERL_PLUGIN} = 'Devel::PatchPerl::Plugin::Feegle'; my $plugin = $ENV{PERL5_PATCHPERL_PLUGIN}; eval "require $plugin"; eval { $plugin->patchperl( version => $vers, source => $srcdir, patchexe => $patch ); }; WHAT CAN PLUGINS DO
? Anything you desire to a Perl source tree. WHY USE AN ENVIRONMENT VARIABLE TO SPECIFY PLUGINS
? So that indicating a plugin to use can be specified independently of whatever mechanism is calling Devel::PatchPerl to do its bidding. Think perlbrew. AUTHOR
Chris Williams <chris@bingosnet.co.uk> COPYRIGHT AND LICENSE
This software is copyright (c) 2012 by Chris Williams and Marcus Holland-Moritz. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. perl v5.14.2 2012-06-04 Devel::PatchPerl::Plugin(3pm)

Check Out this Related Man Page

Devel::REPL::Plugin::FancyPrompt(3pm)			User Contributed Perl Documentation		     Devel::REPL::Plugin::FancyPrompt(3pm)

NAME
Devel::REPL::Plugin::FancyPrompt - facilitate user-defined prompts SYNOPSIS
#!/usr/bin/perl use lib './lib'; use Devel::REPL; my $repl = Devel::REPL->new; $repl->load_plugin('MultiLine::PPI'); # for indent depth $repl->load_plugin('Packages'); # for current package $repl->load_plugin('FancyPrompt'); $repl->run; DESCRIPTION
FancyPrompt helps you write your own prompts. The default fancy prompt resembles "irb"'s default prompt. The default "fancy_prompt" looks like this: re.pl(main):001:0> 2 + 2 4 "re.pl" is a constant. "main" is the current package. The first number is how many lines have been read so far. The second number (only if you have a "MultiLine" plugin) is how deep you are; intuitively, your indent level. This default can be implemented with: $_REPL->fancy_prompt(sub { my $self = shift; sprintf 're.pl(%s):%03d%s> ', $self->can('current_package') ? $self->current_package : 'main', $self->lines_read, $self->can('line_depth') ? ':' . $self->line_depth : ''; }); "current_package" is provided by Devel::REPL::Plugin::Packages (which tracks the current package). "line_depth" is provided by a "MultiLine" plugin (probably "MultiLine::PPI"). You may also set a "fancy_continuation_prompt". The default is very similar to "fancy_prompt"'s default (except "*" instead of ">"). SEE ALSO
"Devel::REPL" AUTHOR
Shawn M Moore, "<sartak at gmail dot com>" COPYRIGHT AND LICENSE
Copyright (C) 2007 by Shawn M Moore This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.14.2 2010-05-08 Devel::REPL::Plugin::FancyPrompt(3pm)
Man Page