Module::Install::Admin − Author−side manager for Module::Install
In a Module::Install extension module:
sub extension_method { my $self = shift; $self−>admin−>some_method(@args); }
As an one-liner:
% perl "−MModule::Install::Admin" −e'&some_method(@args);'
The two snippets above are really shorthands for
$some_obj−>some_method(@args)
where $some_obj is the singleton object of a class under the "Module::Install::Admin::*" namespace that provides the method "some_method". See " METHODS" for a list of built-in methods.
This module implements the internal mechanism for initializing, including and managing extensions, and should only be of interest to extension developers; it is never included under a distribution’s inc/ directory, nor are any of the Module::Install::Admin::* extensions.
For normal usage of Module::Install, please see Module::Install and " COOKBOOK / EXAMPLES" in Module::Install instead.
Bootstrapping
When someone runs a Makefile.PL that has "use inc::Module::Install", and there is no inc/ in the current directory, Module::Install will load this module bootstrap itself, through the steps below:
• |
First, Module/Install.pm is POD-stripped and copied from @INC to inc/. This should only happen on the author’s side, never on the end-user side. |
||
• |
Reload inc/Module/Install.pm if the current file is somewhere else. This ensures that the included version of inc/Module/Install.pm is always preferred over the installed version. |
||
• |
Look at inc/Module/Install/*.pm and load all of them. |
||
• |
Set up a "main::AUTOLOAD" function to delegate missing function calls to "Module::Install::Admin::load" -- again, this should only happen at the author’s side. |
||
• |
Provide a "Module::Install::purge_self" function for removing included files under inc/. |
Module::Install
Audrey Tang <autrijus AT autrijus DOT org>
Copyright 2003, 2004 by Audrey Tang <autrijus AT autrijus DOT org>.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
See <http://www.perl.com/perl/misc/Artistic.html>