Module::Starter is a little different from most Perl modules.
Typically, you wouldn't use it directly. When installed, it provides the
module-starter script. The script will create the basic framework
of a module suitable for distribution. If you're new to creating modules
for CPAN this can be a great help.

h2xs predates Module::Starter, and is mainly designed to
get a head start when creating a module from C header files. It can be used to
create a pure-Perl module via the -X option, however the module
skeleton that it creates is not as complete as what is provided by
Module::Starter. h2xs also assumes that the module you're
creating will be based on Exporter, and its generated documentation also
requires significantly more editing.

Let's look at what it does, using a hypothetical Toy::Factory
as an example:

santa@northpole:~ $ module-starter --verbose --module=Toy::Factory \
--author="Kris Kringle" --email=santa@northpole.com --builder=Module::Build
Created Toy-Factory
Created Toy-Factory/lib/Toy
Created Toy-Factory/lib/Toy/Factory.pm
Created Toy-Factory/t
Created Toy-Factory/t/pod-coverage.t
Created Toy-Factory/t/pod.t
Created Toy-Factory/t/boilerplate.t
Created Toy-Factory/t/00-load.t
Created Toy-Factory/.cvsignore
Created Toy-Factory/Build.PL
Created Toy-Factory/MANIFEST
Created starter directories and files

And so module-starter created a skeleton for us to start
working with, complete with sample tests. Can we build it?

Doh! As a part of the framework it provided module-starter created
sample README and Changes files, as well as tests to
check these files and ensure that we've replaced the default text with
something more meaningful. If you've ever noticed a module on CPAN that claims
to be a "Perl extension for blah blah blah" you can appreciate how these
tests would have come in handy. In addition, these POD tests will raise your
module's Kwalitee score on
CPANTS.

Great! We're all set to teach Toy::Factory how to make toys. But
what about that warning we got when we first built it, about META.yml
missing? META.yml is created auotmagically when you issue the
./Build dist command.