Subject: | Version numbering breaks modules using dev versions |
The version numbering scheme like 0.51_01 causes the following common perl syntax to fail with an error about non-numeric value in a numeric comparison:
use Net::DNS 0.48;
This, for example, causes the SpamAssassin perl Makefile.PL step to emit an error message when it checks for minimum version of Net::DNS. If it weren't for the fact that Net::DNS is an optional module in SpamAssasin this would break the build.
The standard way to assign version numbers would be to make the development version to be a floating point number such as 0.5101 and to change the version sub in DNS.pm to be as follows:
sub version {
$VERSION =~ /^(\d+)\.(\d\d)(\d\d)$/;
return sprintf("%d.%d.%d", $1, $2, $3);
}
It may look a bit ugly to have version numbers like 0.5101, but that's how perl and most modules on CPAN do it.
Actually they use three digits in each field, but I don't see that you need to change your numbering scheme that much.