Dist::Man - a simple starter kit for any module


version 0.0.6


Nothing in here is meant for public consumption. Use pl-dist-man from the command line.

    pl-dist-man create --module=Foo::Bar,Foo::Bat \
        --author="Andy Lester"


This is the core module for Dist::Man. If you're not looking to extend or alter the behavior of this module, you probably want to look at pl-dist-man instead.

Dist::Man is used to create a skeletal CPAN distribution, including basic builder scripts, tests, documentation, and module code. This is done through just one method, create_distro.



create_distro is the only method you should need to use from outside this module; all the other methods are called internally by this one.

This method creates orchestrates all the work; it creates distribution and populates it with the all the requires files.

It takes a hash of params, as follows:

    distro  => $distroname,      # distribution name (defaults to first module)
    modules => [ module names ], # modules to create in distro
    dir     => $dirname,         # directory in which to build distro
    builder => 'Module::Build',  # defaults to ExtUtils::MakeMaker
                                 # or specify more than one builder in an
                                 # arrayref

    license => $license,  # type of license; defaults to 'perl'
    author  => $author,   # author's full name (required)
    email   => $email,    # author's email address (required)

    verbose => $verbose,  # bool: print progress messages; defaults to 0
    force   => $force     # bool: overwrite existing files; defaults to 0


Dist::Man itself doesn't actually do anything. It must load plugins that implement create_distro and other methods. This is done by the class's import routine, which accepts a list of plugins to be loaded, in order.

For more information, refer to Dist::Man::Plugin.


Shlomi Fish, (while disclaiming any implicit or explicit claims on the code).

Andy Lester, <petdance at>

Ricardo Signes, <rjbs at>

C.J. Adams-Collier, <cjac at>


You can find documentation for this module with the perldoc command.

    perldoc Dist::Man

You can also look for information at:


Please report any bugs or feature requests to bug-dist-man at, or through the web interface at I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.


Copyright 2005-2009 Andy Lester, Ricardo Signes and C.J. Adams-Collier, All Rights Reserved.

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


Modified by Shlomi Fish, 2009 - all rights disclaimed - may be used under any of the present or future terms of Module-Starter.