The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.


Pod::Weaver::Section::Consumes - Add a list of roles to your POD.


version 0.010


In your weaver.ini:



This Pod::Weaver section plugin creates a "CONSUMES" section in your POD which contains a list of the roles consumed by your class. It accomplishes this by loading all classes and interrogating their metaclass.

All classes (*.pm files) in your distribution's lib directory will be loaded. Classes which do not have a meta method will be skipped. POD is changed only for files which actually consume roles.


In case you use Dist::Zilla to install dependencies of your distribution, you might encounter a quirk caused by this plugin. If you run dzil listdeps, dzil will load this module which in turn will load all classes in lib which in turn may want to load classes which are not yet installed. Currently, there seems to be no easy way around this with Dist::Zilla alone. But there are workarounds. You could, for example, eliminate weaver.ini during the installation process:

    #temporarily remove weaver.ini during install
    cpanm Pod::Weaver::Section::Consumes
    mv weaver.ini _weaver.ini
    dzil authordeps | cpanm
    dzil listdeps | cpanm
    mv _weaver.ini weaver.ini

Or install dependencies before you run listdeps, for example by adding them as authordeps to dist.ini.

    #authordep JSON = 2.57




Mike Friedman <>


This software is copyright (c) 2011 by Mike Friedman.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.