Hi Shlomi-
The biggest issue I've seen with float version strings and triple-dot
versions is with support for older perls.
The other big issue, is make up your mind and stick with one. FYI, the
PDL module got caught with switching between float string and triple dot
versions which made mess for determining which was more recent. We've
recently standardized on float string for back compatibility and finally
have the current version of PDL being the most recent one with respect
to all extant versions. Even cleaning up the mess was a bit messy...
Cheers,
Chris
On 5/31/2015 12:44, Shlomi Fish wrote:
Hi all,
today someone on Freenode’s #perl chat room told me that I shouldn't use
three-dotted-decimal versions in $VERSION in the .pm files and distributions
that I'm putting on CPAN . E.g: instead of:
«
our $VERSION = '0.0.7';
our $VERSION = '0.2.3';
»
Use:
«
our $VERSION = '0.000007';
our $VERSION = '0.002003';
»
( I can quote the logs with their permission. ).
The problem is that I've been uploading .pm files with the first $VERSION
notation and CPAN distributions that read these VERSION fields from them and
generate an appropriate tarball for many years now, and this is the first major
complaint that I received for that.
Furthermore:
1. Module-Build did not complain about it, and from what I Recall neither did
Dist-Zilla.
2. PAUSE did not complain about it or reject my uploads.
3. CPANTS ( http://cpants.cpanauthors.org/ ) did not notify me that this is
wrong either, including not in its optional or experimental policies (but note
that it is of much lower visibility than #1 and #2).
4. For the record, it is possible that there's a Perl Critic
( https://metacpan.org/release/Perl-Critic ) policy for that, but I don't use
Perl Critic that often, so I don't know.
==========================
By all means, if this notation is undesirable, its rejection should be made
more explicit rather than I hear about it years after the fact. Note that I
happen to find '0.0.7' much more user-friendly than '0.000007' and would like
it to stay and be supported by the toolchain properly, but I think that
prohibiting it more directly would be a desirable second-best solution.
So what should be done?
Regards,
Shlomi Fish