CPAN::Plugin(3pm) Perl Programmers Reference Guide CPAN::Plugin(3pm)

# [NAME](#NAME)

CPAN::Plugin - Base class for CPAN shell extensions

# [SYNOPSIS](#SYNOPSIS)

```
   package CPAN::Plugin::Flurb;
   use parent 'CPAN::Plugin';
   sub post_test {
     my ($self, $distribution_object) = @_;
     $self = $self->new (distribution_object => $distribution_object);
     ...;
   }
```

# [DESCRIPTION](#DESCRIPTION)

## [Alpha Status](#Alpha_Status)

The plugin system in the CPAN shell was introduced in version 2.07 and is still considered experimental.

## [How Plugins work?](#How_Plugins_work?)

See "Plugin support" in CPAN.

# [METHODS](#METHODS)

## [plugin\_requires](#plugin_requires)

returns list of packages given plugin requires for functionality. This list is evaluated using "CPAN-&gt;use\_inst" method.

## [distribution\_object](#distribution_object)

Get current distribution object.

## [distribution](#distribution)

## [distribution\_info](#distribution_info)

## [build\_dir](#build_dir)

Simple delegatees for misc parameters derived from distribution

## [is\_xs](#is_xs)

Predicate to detect whether package contains XS.

# [AUTHOR](#AUTHOR)

Branislav Zahradnik &lt;barney@cpan.org&gt;

2026-08-31 perl v5.44.0

---

Document: CPAN::Plugin(3pm) from perl 5.44.0-r1 (Chainguard OS)
Source: https://github.com/Perl/perl5.git
