---
name: "CPAN::Plugin::Specfile"
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::Specfile"
---

# CPAN::Plugin::Specfile(3p)

Proof of concept implementation of a trivial CPAN::Plugin

## NAME

CPAN::Plugin::Specfile - Proof of concept implementation of a trivial CPAN::Plugin

## SYNOPSIS

```
  # once in the cpan shell
  o conf plugin_list push CPAN::Plugin::Specfile
  # make permanent
  o conf commit
  # any time in the cpan shell to write a spec file
  test Acme::Meta
  # disable
  # if it is the last in plugin_list:
  o conf plugin_list pop
  # otherwise, determine the index to splice:
  o conf plugin_list
  # and then use splice, e.g. to splice position 3:
  o conf plugin_list splice 3 1
```

## DESCRIPTION

Implemented as a post-test hook, this plugin writes a specfile after every successful test run. The content is also written to the terminal.

As a side effect, the timestamps of the written specfiles reflect the linear order of all dependencies.

**WARNING:** This code is just a small demo how to use the plugin system of the CPAN shell, not a full fledged spec file writer. Do not expect new features in this plugin.

### OPTIONS

The target directory to store the spec files in can be set using `"dir"` as in

```
  o conf plugin_list push CPAN::Plugin::Specfile=dir,/tmp/specfiles-000042
```

The default directory for this is the `"plugins/CPAN::Plugin::Specfile"` directory in the *cpan\_home* directory.

## AUTHOR

Andreas Koenig \<andk@cpan.org\>, Branislav Zahradnik \<barney@cpan.org\>
