Module::Install::Admin - Author-side manager for Module::Install |
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 the Module::Install manpage and COOKBOOK / EXAMPLES in the Module::Install manpage instead.
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:
@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/.
Audrey Tang <autrijus@autrijus.org>
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
Module::Install::Admin - Author-side manager for Module::Install |