Module::Install::Admin(3) User Contributed Perl Documentation Module::Install::Admin(3)

# [NAME](#NAME)

Module::Install::Admin - Author-side manager for Module::Install

# [SYNOPSIS](#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](#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](#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](#METHODS)

# [SEE ALSO](#SEE_ALSO)

Module::Install

# [AUTHORS](#AUTHORS)

Audrey Tang &lt;autrijus@autrijus.org&gt;

# [COPYRIGHT](#COPYRIGHT)

Copyright 2003, 2004 by Audrey Tang &lt;autrijus@autrijus.org&gt;.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

See &lt;http://www.perl.com/perl/misc/Artistic.html&gt;

2026-10-24 perl v5.44.0

---

Document: Module::Install::Admin(3pm) from perl-module-install 1.21-r11 (Chainguard OS)
Source: https://github.com/Perl-Toolchain-Gang/Module-Install
