Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.
  • so now I'm wondering what's the best way to build CPAN modules ... the Makefile.PL way or the Build.PL way? Guess I need to buy Writing Perl Modules for CPAN.

    I don't think that Module::Build existed when that book was written. I'm always slightly annoyed when I run a Build.PL script that wasn't written with create_makefile_pl => traditional. If EU::MM is already installed and works, why should I have to go and install another module in order to build this one?

    That said I suppose if M::B become

  • I like Ken Williams' work a lot, but Module::Build is not shipped with Perl. Don't use Module::Build unless you have a problem that it solves better than MakeMaker. That would be something like interactive questions for the user.

    Alternatively, support both equally well by using the "traditional" option for creating a Makefile.PL from Module::Build. Otherwise I would have to install Module::Build on every machine where I want to put your module, for no good reason.

    • I too really like Module::Build and use it exclusively when developing internal projects. However, I think that wisdom of the previous two posters prevails until such time as M::B is shipping with a mainstream version of Perl.

      Because I haven't released many modules to CPAN, I didn't even realize M::B could generate a traditional Makefile.PL. Indeed the create_makefile_pl parameter to new() in conjunction with Module::Build::Compat should generate the file as Perrin describes. Cool!

      • Doh, I also meant to mention ExtUtils::ModuleMaker [] which I use for creating my base packages. It can generate EU::MM, M::B, or M::B with a proxy Makefile.PL packages. The latter option isn't much help to you since it would still require M::B to be installed on the target system (it's like the 'small' style of create_makefile_pl).

  • If you're releasing stuff to CPAN you should take a look at Module::Release, and the associated release(1) command, which makes the process much easier.

    And if you do use Module::Release with either Subversion or Module::Build then you should probably look at Module::Release::Extras too...


    • I found Module::Release::Extras on the CPAN but not Module::Release. Can you give a link?

      • Er, that's odd. It certainly used to be on CPAN. Last I knew, brian d foy was planning a new release -- you can see this from the horses mouth [].

        There's "release" on CPAN, listed under brian's software list, but that looks like it's a very old version (from before release(1) was split out in to Module::Release). I wonder if brian's uploaded an old version by mistake at some point.

      • There is apparently bad reindexing bummers running around. Apparenlty I have the latest release, but I'm no longer the registered owner since brian came back.

        Please ping brian directly and ask him to upload a new one, if only to get the version bumped, and then I'll delete all my versions.