---
name: "CPAN::Plugin"
section: "3p"
platform: "openbsd"
package: "man"
version: "8.0-current-20261101"
release: "OpenBSD 8.0-current (2026-11-01)"
platforms: ["openbsd"]
url: "https://new.carta.tech/CPAN::Plugin"
---

# CPAN::Plugin(3p)

Base class for CPAN shell extensions

## NAME

CPAN::Plugin - Base class for CPAN shell extensions

## SYNOPSIS

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

## DESCRIPTION

### Alpha Status

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

### How Plugins work?

See "Plugin support" in CPAN.

## METHODS

### plugin\_requires

returns list of packages given plugin requires for functionality. This list is evaluated using `"CPAN->use_inst"` method.

### distribution\_object

Get current distribution object.

### distribution

### distribution\_info

### build\_dir

Simple delegatees for misc parameters derived from distribution

### is\_xs

Predicate to detect whether package contains XS.

## AUTHOR

Branislav Zahradnik \<barney@cpan.org\>
