man Module::Install::Admin () - Author-side manager for Module::Install

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 CW$some_obj is the singleton object of a class under the CWModule::Install::Admin::* namespace that provides the method CWsome_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 Module::Install-Cookbook instead.

Bootstrapping

When someone runs a Makefile.PL that has CWuse 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 CW@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 CWmain::AUTOLOAD function to delegate missing function calls to CWModule::Install::Admin::load again, this should only happen at the author's side.
•
Provide a CWModule::Install::purge_self function for removing included files under inc/.

METHODS

SEE ALSO

Module::Install

AUTHORS

Autrijus Tang <autrijus@autrijus.org>

COPYRIGHT

Copyright 2003, 2004 by Autrijus 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>