Perl 5 version 32.0 documentation



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


  1. # once in the cpan shell
  2. o conf plugin_list push CPAN::Plugin::Specfile
  3. # make permanent
  4. o conf commit
  5. # any time in the cpan shell to write a spec file
  6. test Acme::Meta
  7. # disable
  8. # if it is the last in plugin_list:
  9. o conf plugin_list pop
  10. # otherwise, determine the index to splice:
  11. o conf plugin_list
  12. # and then use splice, e.g. to splice position 3:
  13. o conf plugin_list splice 3 1


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.


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

  1. 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.


Andreas Koenig <>, Branislav Zahradnik <>