NAME¶
Module::Install::Admin - Author-side manager for Module::Install
SYNOPSIS¶
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.
DESCRIPTION¶
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/.
METHODS¶
SEE ALSO¶
Module::Install
AUTHORS¶
Audrey Tang <autrijus@autrijus.org>
COPYRIGHT¶
Copyright 2003, 2004 by Audrey Tang <autrijus@autrijus.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>