http://qs321.pair.com?node_id=11122657


in reply to What do I use to release a module to CPAN for the first time?

I am fairly sure releasing modules to CPAN should not cause tearful emotional breakdowns on a semi-regular basis, especially when it is just one module with less than 30 lines of code to it.

Indeed not. While you could use one of the frameworks for release, I would not necessarily recommend that for your first go. Once you know how it is all done then you can look to automate away the boring parts. But in essence it is this simple (assuming you have used ExtUtils::MakeMaker):

  1. Before release: make sure all your tests pass, check everything in to your VCS and (optionally) tag it.
  2. make distclean - this also does a distcheck and if it reports any problems, address those before continuing.
  3. perl Makefile.PL
  4. make tardist

You now have a tarball which you can upload to PAUSE.

The module I want to release first is Fancy::Open.

Have you read On The Naming of Modules? I suggest you do. Among much other good advice it says this:

Even though the module naming is in practice a first-come first-served process, it is quite impolite to grab top-level names. Yes, even if your project/product is named with just a single word, please think of people trying to find something that would help them in their problems. Unless they know of your project/product, they might not ever find your module.

Remember that though you may be the first to contribute to a namespace, you may well not be the last or the only one. Someone might later want to use the namespace, for something unrelated to your modules.

So perhaps consider a different name. Did you post to PrePAN?

The doc goes on to say:

The modules@perl.org (the mailing list for PAUSE admins) and module-authors@perl.org can help you choose a good name. Not only are they generally good at names, but they also know quite a bit about what is already on CPAN. They can help you choose a name that puts your module into the right place with all of the other modules.

I hope this is useful to you.


🦛