http://www.perlmonks.org?node_id=598751


in reply to Re: Build.PL versus Makefile.PL
in thread Build.PL versus Makefile.PL

I also posed the same question on use.Perl. I got a selection of opinions there too.

There are advantages to Module::Build, in particular on platforms without compilers, e.g. Windows and it will apparently become the "standard". However the traditional method is more tested and far more common.

In my case I just need to fiddle with the Makefile.PL and make it add optional tests. Basically I need a bunch of modules to test the code, they aren't actually need to use it, so I don't like making them pre-requisits if I can help it. I prefer to use Module::Build, it is easier for me but I'll have to maintain both...


--
ajt

Replies are listed 'Best First'.
Re^3: Build.PL versus Makefile.PL
by Corion (Patriarch) on Feb 07, 2007 at 13:08 UTC

    Why don't you just write your tests to skip if the required module is unavailable? I have many tests that basically do:

    my $can_run; my $reason; BEGIN { $can_run = eval { require My::Module; require Some::Other::Module; 1; }; $reason = $@; }; use Test::More; if (! $can_run) { $reason ||= "no reason given"; plan skip_all => "Prerequisite module not found ($reason)"; exit; } else { plan tests => 42; }; ...

    Also, I find the idea of "standard" amusing/confusing - does that mean that all modules currently using ExtUtils::MakeMaker will go out of existence or that people will hurry to Module::Build because nobody cares about compatibility with older versions of Perl anymore?