Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re: What do I use to release a module to CPAN for the first time?

by pryrt (Abbot)
on Oct 10, 2020 at 17:32 UTC ( [id://11122664]=note: print w/replies, xml ) Need Help??


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

So, when I started down the CPAN-author path, it was with Games::Literati, which I was taking over from the previous author. At the time I inherited it, the distribution was as simple as shown here in my github history -- the module file, the Makefile.PL, a README, a Changes file, and a test.pl; the Makefile.PL (which is what enables you to do the make distclean; perl Makefile.PL; make tardist that ++hippo recommended) was extremely minimalist, but got the job done. My first v0.031 release (in github here) wasn't much more complicated: I just added a couple of extra features to the Makefile.PL. Over time, as I dealt with that and my other distros that I started creating, I learned more about ExtUtils::MakeMaker features, and found a release workflow that worked better for me, so now my Makefile.PL is rather more complicated... but the simple versions are sufficient to get the job done.

I highly recommend for just getting started that you start simple, and don't expect to get it perfect the first time -- it will likely be good enough, and you can make incremental improvement in your process as time moves on. The only way you're going to find a way that makes you happy is to start somewhere, and find what you like and don't like about the process.

Regarding naming: I concur with ++hippo and ++marto that creating a new Fancy:: top-level name isn't the best. Given your description of the Fancy:: modules, they appear to be wrappers for builtin functions, but that add or incorporate features that you find lacking in the builtin versions. I can see why you would desire to group them all together under a name, but maybe something::Open -- where something:: would be wherever other wrappers of low-level functions go (but since I've never looked for such, I wouldn't know what that something:: should be, sorry -- it might be more than one level, and you might be able to use ::Fancy:: as an intermediate if the something:: is descriptive enough, otherwise maybe use ::BuiltinWrapper::Fancy:: or something that has more meaning behind it than just "Fancy"). I know the official advice is to go to PrePAN and/or the module-authors list for naming recommendations... but it seems to me to be a hassle to create yet another account in yet another location, when Perlmonks already has some of the best of the Perl community, and someone here should be able to have better suggestions for naming than I've come up with.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11122664]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others studying the Monastery: (5)
As of 2024-04-16 12:15 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found