Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re: module version convention

by ferreira (Chaplain)
on Jun 08, 2008 at 14:47 UTC ( #690927=note: print w/replies, xml ) Need Help??


in reply to module version convention

This convention is a bit misleading as it apparently clashes with the convention for CPAN development releases. CPAN development releases are marked by distribution tarballs whose version numbers like '1.19_02' contains underscores. The development releases are meant to publish unstable code which is possibly in-progress work (so they are available to others experiment with that).

But that only happens if the author defines the $VERSION to be a string, so when it is used (by ExtUtils::MakeMaker or Module::Build) to construct the tarball name, the underscores are there. In the convention you mentioned, the underscore only exists at the source code and disappears after Perl compiles this piece of code (then, 1.19_02 is undistinguishable from 1.1902). They do not generate development releases (as a beginner may think it should) and only creates an artificial three-part version where the last parts are constrained to vary up to 99 (which is enough for most practical uses). So it is not a big deal/win compared to conventions that just use:

# vv-- Incremented at will $VERSION = 1.1902; # ^ ^^ # | \+----- Incremented for non-trivial changes to features # \-------- Incremented for fundamental changes

And notice that perl convention itself is to use three rather than two digits as in 5.8.6 = 5.008006.

NOTE. Development releases have a curse on themselves which is not being indexed by PAUSE, which requires the user to specify a full name at CPAN shell commands like "install AUTHOR/Boo-1.19_02.tar.gz" when installing instead of only "install Boo" (but that is purposeful to avoid development releases to be installed by mistake). The curse is that development releases never get tested as it should and are second-rate citizens at CPAN for many tools.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (3)
As of 2020-10-21 13:56 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    My favourite web site is:












    Results (217 votes). Check out past polls.

    Notices?