The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Test::Prereq - check if Makefile.PL has the right pre-requisites

SYNOPSIS

# if you use Makefile.PL use Test::Prereq; prereq_ok();

# if you use Module::Build use Test::Prereq::Build; prereq_ok();

DESCRIPTION

THIS IS ALPHA SOFTWARE. IT HAS SOME PROBLEMS.

The prereq_ok() function examines the modules it finds in blib/lib/ and the test files it finds in t/. It figures out which modules they use, skips the modules that are in the Perl core, and compares the remaining list of modules to those in the PREREQ_PM section of Makefile.PL. If you use Module::Build instead, see Test::Prereq::Build instead.

Your Makefile.PL must end in a true value since prereq_ok() has to require() it to perform a bit of magic. Not to worry---it will tell you when you don't.

FUNCTIONS

prereq_ok( [ VERSION, [ NAME [, SKIP_ARRAY] ] ] )

If you don't specify a version, prereq_ok assumes you want to compare the list of prerequisite modules to version 5.6.1.

Valid version come from Module::CoreList (which uses $[):

        5.008
        5.00307
        5.00405
        5.00503
        5.007003
        5.004
        5.005
        5.006
        5.006001

prereq_ok attempts to remove modules found in blib and libraries found in t from the reported prerequisites.

The optional third argument is an array reference to a list of names that prereq_ok should ignore. You might want to use this if your tests do funny things with require.

TO DO

* skip the modules included in the distribution. at the moment I skip things that match the string in NAME in WriteMakefile and I don't think that's a good solution.

* figure out which modules depend on others, and then apply that to what i see in the PREREQ_PM.

AUTHOR

brian d foy, <bdfoy@cpan.org>

COPYRIGHT

Copyright 2002, brian d foy, All Rights Reserved.

You may use, modify, and distribute this package under the same terms as Perl itself.