in reply to MakeMaker, h2xs, and writing CPAN modules

What I understood you to ask was this: how do I create a distribution so that I can edit my module in place without having to install it? The docs aren't clear, but this is basically how this works. First, edit h2xs and change the $author and $email to your name and email address (otherwise, h2xs will write out spurious information for this and you'll have to edit the results). Then, do this:

  1. h2xs -AX -n Foo::Bar -v .01
  2. Copy your module to
  3. Fill out or, better yet, create a Foo/Bar/t/ directory and create tests there (be sure to update the MANIFEST)
  4. perl
  5. make
  6. make test
  7. make dist

It's the last step that makes a distribution for you!

Also note the -v argument to h2xs. That tells it what your version number is, so that's automatically created for you, if you're filling in the module manually as opposed to copying one that you've already made. You can skip this if you wish.

If, for some reason, your tests do not pass, be sure to run make clean, fix your module (and/or tests) and repeat the above steps, from step 4 (perl Makefile.PL), until the tests pass. If you fail to run make clean, any edits you make to Foo/ will not be picked up.

When you run make test, all tests will be run through the test harness, which will load your module from the blib directory that is created. Thus, there is no need to actually install the module.

Hope this helps.


Join the Perlmonks Setiathome Group or just click on the the link and check out our stats.