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 (the mailing list for PAUSE admins) and 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.


Replies are listed 'Best First'.
Re^2: What do I use to release a module to CPAN for the first time?
by marto (Cardinal) on Oct 10, 2020 at 12:58 UTC

    I second this advice on naming. The proposed name tells users nothing in relation to what the module does, and 'Fancy' is subjective.

      A subjective name is not necessarily a problem —XML::Simple is the most complex XML parser I know— but the descriptor shouldn't be the top level! There's already File:: which contains similar module File::Slurper. How about File::FancySlurp?

Re^2: What do I use to release a module to CPAN for the first time?
by Lady_Aleena (Curate) on Oct 11, 2020 at 19:08 UTC

    I have never used ExtUtils::MakeMaker before. I had heard of it in passing but had not looked into it until you posted about it. Right now I have not even created the distribution directory yet.

    As for naming, I wish I did not have to use the word "slurp". I have an irrational bias against it, but I will probably cave and use it since it appears to be the common way to describe what this module does. I posted on PrePAN and got the suggestion of File::Slurp::Affix, which would make the subroutine name slurp_affix. I will miss the word Fancy. However, I guess I should not introduce a new namespace with my first module release.

    My OS is Debian 10 (Buster); my perl versions are 5.28.1 local and 5.16.3 or 5.30.0 on web host depending on the shebang.

    No matter how hysterical I get, my problems are not time sensitive. So, relax, have a cookie, and a very nice day!
    Lady Aleena