Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Contact Us
Online Help
Domain Status
Man Pages

Virtual Servers

Topology Map

Server Agreement
Year 2038

USA Flag



Man Pages

Manual Reference Pages  -  MODULE::STARTER (3)

.ds Aq ’


Module::Starter - a simple starter kit for any module



Version 1.71


Nothing in here is meant for public consumption. Use module-starter from the command line.

    module-starter --module=Foo::Bar,Foo::Bat \
        --author="Andy Lester"


This is the core module for Module::Starter. If you’re not looking to extend or alter the behavior of this module, you probably want to look at module-starter instead.

Module::Starter 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,   # authors full name (taken from C<getpwuid> if not provided)
    email        => $email,    # authors email address (taken from C<EMAIL> if not provided)
    ignores_type => $type,     # ignores file type (generic, cvs, git, hg, manifest )
    fatalize     => $fatalize, # generate code that makes warnings fatal

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

The ignores_type is a new feature that allows one to create SCM-specific ignore files. These are the mappings:

    ignores_type => generic  # default, creates ignore.txt
    ignores_type => cvs      # creates .cvsignore
    ignores_type => git      # creates .gitignore
    ignores_type => hg       # creates .hgignore
    ignores_type => manifest # creates MANIFEST.SKIP

It is also possible to provide an array ref with multiple types wanted:

    ignores_type => [ git, manifest ]


Module::Starter 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 Module::Starter::Plugin.


Sawyer X, <xsawyerx at>

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 Module::Starter

You can also look for information at:
o Source code at GitHub


o AnnoCPAN: Annotated CPAN documentation


o CPAN Ratings


o RT: CPAN’s request tracker


o Search CPAN



Please report any bugs or feature requests to the bugtracker for this project on GitHub 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.

Copyright 2010 Sawyer X, All Rights Reserved.

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

Search for    or go to Top of page |  Section 3 |  Main Index

perl v5.20.3 MODULE::STARTER (3) 2015-01-30

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.