---
name: "Module::Install::Admin"
section: "3pm"
platform: "linux"
package: "perl-module-install"
version: "1.21-6"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Module::Install::Admin"
---

# Module::Install::Admin(3pm)

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 `$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\>
