Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

Re: non-CPAN module distributions

by leriksen (Curate)
on Sep 17, 2003 at 00:35 UTC ( #292008=note: print w/replies, xml ) Need Help??

in reply to non-CPAN module distributions

I think there are several advantages to breaking up the lotsa-modules structure you have
  • you get to think about exactly how all the parts relate to each other
  • whilst they may not be candidates for CPAN, you can create localised 'general' modulues - I find I end up with three groups -
    1. core
    2. tools/utils
    3. specials
  • there are opportunities to refactor/simplify
  • your release process can be better defined - this release is based on fixes to library A and extensions to library B, instead of we changed a whole bunch o stuff
  • because the libraries are separated, one would hope that over time opportunities to use some of them for other projects would emerge - if they are all in one, that step may not be made
  • it shows a level of maturity in your's and the codes development

As for the versioning I use the $VERSION string too, but sometime I even create a file for a library, whose only job is to hold the master version identity of the library. I sometime link this to the CVS version support via
$VERSION = sprintf("%d.%2d", q$Revision$ =~ /(\d+)\.(\d+)/);
or I link to a tag holding the master version identity in CVS via
$VERSION = sprintf("%d.%2d", q$Name$ =~ /(\d+)_(\d+)/);
Be aware that $Name requires you checkout with -r <tagname>, and that CVS doesn't allow you to put '.'s in tagnames, that's why I use the '_' character.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (2)
As of 2022-05-28 19:59 GMT
Find Nodes?
    Voting Booth?
    Do you prefer to work remotely?

    Results (101 votes). Check out past polls.