Module::Build distribution "skeleton"

If you take in consideration the distribution HTML::Tagset again, the rough skeleton suitable for Module::Build having converted the Makefile.PL by Module::Build::Convert into a Build.PL, the output would be as following:

Example 3. 

# This -*-perl-*- program writes the Makefile for installing this distribution.
#
# See "perldoc perlmodinstall" or "perldoc ExtUtils::MakeMaker" for
# info on how to control how the installation goes.
# Note: this file has been initially generated by Module::Build::Convert 0.24_01

require 5.004;
use strict;
use warnings;

use Module::Build;

my $build = Module::Build->new
  (
   module_name => 'HTML::Tagset',
   dist_author => 'Andy Lester <andy@petdance.com>',
   dist_version_from => 'Tagset.pm',
   add_to_cleanup => [
                       'HTML-Tagset-*'
                     ],
   license => 'unknown',
   create_readme => 1,
   create_makefile_pl => 'traditional',
  );

$build->create_build_script;

As you can see while ExtUtils::MakeMaker prefers upper-cased arguments, Module::Build goes by entirely lower-cased arguments, which obey the rule of least surprise by being as intuitive as a description can be.

The build and installation procedure is for a Module::Build distribution as following:

Example 4. 

% perl Build.PL
% perl Build
% perl Build test
# perl Build install