Gabor Szabo wrote:
> Is there a place with definition of what a VERSION value can be ?

Anything which compares sanely as a number plus the X.YY_ZZ alpha convention
(which MM converts to a number).  I guess that's never stated explicitly.  I'd
welcome a section on $VERSION in ExtUtils::MakeMaker::Tutorial, VERSION_FROM
isn't really the right place for it.


> I looked at the docs of ExtUtils::MakeMaker.
> It mentions version numbers under VERSION_FROM but only as examples
> it has examples like 1.2.3 though not in a string format like '1.2.3'.

1.2.3 is an ill fated version string (not to be confused with version objects)
introduced in 5.6.  I don't think they actually work anyway... no they don't.
 I'll remove them.


> CPANTS thinks it is a correct version number:
> http://cpants.perl.org/dist/kwalitee/Sys-HostIP
> 
> Maybe the way CPANTS check isn't correct but I think there is some mismatch.

It's using CPAN::DistnameInfo which is looking at formatting details.  All
MakeMaker cares about is capabilities.  So there's likely to be some mismatch.

It's also not clear that CPAN::DistnameInfo cares about vetting the $VERSION
so much as simply extracting it.

A simple test for capabilities would be this:

        $version =~ s/(\d+)\.(\d+)_(\d+)/$1.$2$3/;  # turn X.YY_ZZ into X.YYZZ
        {
                local $SIG{__WARN__} = sub { die "Bad version: @_" };
                () = $version <=> 0;
        }


-- 
Stabbing you in the face so you don't have to.

Reply via email to