NAME Module::Build::Convert - Makefile.PL to Build.PL converter SYNOPSIS require Module::Build::Convert; my %params = (Path => '/path/to/perl/distribution', Verbose => 2, Use_Native_Order => 1, Len_Indent => 4); my $make = Module::Build::Convert->new(%params); $make->convert; DESCRIPTION "ExtUtils::MakeMaker" has been a de-facto standard for the common distribution of Perl modules; "Module::Build" is expected to supersede "ExtUtils::MakeMaker" in some time (part of the Perl core as of 5.10?) The transition takes place slowly, as the converting process manually achieved is yet an uncommon practice. The Module::Build::Convert Makefile.PL parser is intended to ease the transition process. CONSTRUCTOR new Possible arguments: Path Path to a Perl distribution. Default: undef Makefile_PL Filename of the Makefile script. Default: Makefile.PL Build_PL Filename of the Build script. Default: Build.PL MANIFEST Filename of the MANIFEST file. Default: MANIFEST RC Filename of the RC file. Default: .make2buildrc Create_RC Create a RC file in the homedir of the current user. Default: 0 Exec_Makefile Execute the Makefile.PL via do 'Makefile.PL'. Default: 0 Verbose Verbose mode. If set to 1, overridden defaults and skipped arguments are printed while converting; if set to 2, output of "Verbose = 1" and created Build script will be printed. May be set via the make2build switches "-v" (mode 1) and "-vv" (mode 2). Default: 0 Debug Rudimentary debug facility for examining the parsing process. Default: 0 Use_Native_Order Native sorting order. If set to 1, the native sorting order of the Makefile arguments will be tried to preserve; it's equal to using the make2build switch "-n". Default: 0 Len_Indent Indentation (character width). May be set via the make2build switch "-l". Default: 3 DD_Indent "Data::Dumper" indendation mode. Mode 0 will be disregarded in favor of 2. Default: 2 DD_Sortkeys "Data::Dumper" sort keys. Default: 1 METHODS convert Parses the Makefile.PL's "ExtUtils::MakeMaker" arguments and converts them to "Module::Build" equivalents; subsequently the according Build.PL is created. Takes no arguments. DATA SECTION Argument conversion "ExtUtils::MakeMaker" arguments followed by their "Module::Build" equivalents. Converted data structures preserve their native structure, that is, "HASH" -> "HASH", etc. NAME module_name DISTNAME dist_name ABSTRACT dist_abstract AUTHOR dist_author VERSION dist_version VERSION_FROM dist_version_from PREREQ_PM requires PL_FILES PL_files PM pm_files MAN1PODS pod_files XS xs_files INC include_dirs INSTALLDIRS installdirs DESTDIR destdir CCFLAGS extra_compiler_flags EXTRA_META meta_add SIGN sign LICENSE license clean.FILES @add_to_cleanup Default arguments "Module::Build" default arguments may be specified as key/value pairs. Arguments attached to multidimensional structures are unsupported. recommends HASH build_requires HASH conflicts HASH license unknown create_readme 1 create_makefile_pl passthrough Value may be either a string or of type "SCALAR, ARRAY, HASH". Sorting order "Module::Build" arguments are sorted as enlisted herein. Additional arguments, that don't occur herein, are lower prioritized and will be inserted in unsorted order after preceedingly sorted arguments. module_name dist_name dist_abstract dist_author dist_version dist_version_from requires recommends build_requires conflicts PL_files pm_files pod_files xs_files include_dirs installdirs destdir add_to_cleanup extra_compiler_flags meta_add sign license create_readme create_makefile_pl Begin code Code that preceeds converted "Module::Build" arguments. use Module::Build; $MAKECODE my $b = Module::Build->new $INDENT( End code Code that follows converted "Module::Build" arguments. $INDENT); $b->create_build_script; $MAKECODE INTERNALS co-opting "WriteMakefile()" This behavior is no longer the default way to receive WriteMakefile()'s arguments; the Makefile.PL is now statically parsed unless one forces manually the co-opting of WriteMakefile(). In order to convert arguments, a typeglob from "WriteMakefile()" to an internal sub will be set; subsequently Makefile.PL will be executed and the arguments are then accessible to the internal sub. Data::Dumper Converted "ExtUtils::MakeMaker" arguments will be dumped by "Data::Dumper's" "Dump()" and are then furtherly processed. SEE ALSO , ExtUtils::MakeMaker, Module::Build, AUTHOR Steven Schubiger, schubiger@cpan.org LICENSE This program is free software; you may redistribute it and/or modify it under the same terms as Perl itself. See