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.