Dist-Man
view release on metacpan or search on metacpan
getting-started.html view on Meta::CPAN
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>
Perl Training Australia -
Starting a module with Module::Starter
</title>
<link rel="shortcut icon" href="/favicon.ico" />
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
</head>
<body>
<h1> Starting a module with Module::Starter </h1>
<p>
<a href="http://perltraining.com.au/tips/"><b>[ Perl tips index]</b></a>
<br />
<a href="http://perltraining.com.au/tips/cgi-bin/mailman/listinfo/perl-tips"><b>[ Subscribe to Perl tips ]</b></a>
</p>
<p>
Starting a new module can be a lot of work. A good module
should have a build system, documentation, a test suite, and
numerous other bits and pieces to assist in its easy packaging
and development. These are useful even if we never release our
module to CPAN.
</p>
<p>
Setting this up can be a lot of work, especially if you've
never done it before. While the <code>h2xs</code> tool that
comes with Perl will do some of this for you, it's showing its
age, and doesn't allow us to take advantage of recent tools.
We want to spend our time writing code, not trying to decode
our build system.
</p>
<p>
That's where <code>Module::Starter</code> comes in handy.
It provides a simple, command-line tool to create a skeleton
module quickly and easily.
</p>
<!-- END_SUMMARY -->
<h2>Using module-starter</h2>
<p>
Before we can build our module, we need to
install <code>Module::Starter</code> from the CPAN.
<code>Module::Starter</code> allows us to choose from a variety of
build frameworks, from the aging <code>ExtUtils::MakeMaker</code>
to <code>Module::Install</code> and <code>Module::Build</code>.
While <code>ExtUtils::MakeMaker</code> comes standard with Perl,
you may need to install the other build frameworks. At Perl
Training Australia we generally use <code>Module::Install</code>.
</p>
<p>
Creating a module with <code>Module::Starter</code> couldn't be easier. On
( run in 1.908 second using v1.01-cache-2.11-cpan-119454b85a5 )