in reply to What to specify as minimum dependencies

I also always make sure to require a minimum version of Test::More to make sure I have done_testing (unless the module should support perl versions that are too old to have that module version installed).

Next to required modules, you can also add modules that you think are better/safer/faster for your purpose, but not an actual prerequisite.

You can use any of the below described methods to do so, but you can also handcraft META.yml or META.jsn to reflect your desires as recommendations:

requires: perl: 5.006 Exporter: 0 Carp: 0 Data::Dumper: 0 configure_requires: ExtUtils::MakeMaker: 0 build_requires: perl: 5.006 Test::Harness: 0 Test::More: 0.88 Test::NoWarnings: 0 recommends: perl: 5.012002 File::Temp: 0.22 IO::Scalar: 0 Test::More: 0.96

As you can see, both the requirement section and the recommendation section mention Test::More, but with different versions.


Enjoy, Have FUN! H.Merijn

Replies are listed 'Best First'.
Re^2: What to specify as minimum dependencies
by JavaFan (Canon) on Jan 17, 2011 at 10:38 UTC
    Considering that testing isn't a *building* requirement, I put my testing modules under test_requires, not under build_requires. So, I may have as part of the args to WriteMakefile:
    PREREQ_PM => { 'strict' => 0, 'warnings' => 0, }, MIN_PERL_VERSION => 5.006, META_MERGE => { test_requires => { 'Test' => 0, 'Test::More' => 0, }, }
    which gets translated to the following YAML:
    configure_requires: ExtUtils::MakeMaker: 0 build_requires: ExtUtils::MakeMaker: 0 requires: perl: 5.006 strict: 0 warnings: 0 test_requires: Test: 0 Test::More: 0