Re: Dev version numbers, warnings, XS and MakeMaker dont play nicely together.

[email protected] ("Yitzchak Scott-Thoennes")
Newsgroups perl.qa,perl.perl5.porters,perl.makemaker
Message-ID <[email protected]>
On Sun, January 6, 2008 4:54 pm, demerphq wrote:
> So we are told the way to mark a module as development is to use an
> underbar in the version number:
>
> $VERSION= "1.23_01";
>
>
> but this will produce warnings if you assert a required version number, as
> the version isn't numeric.
>
> So the standard response is to do
>
> $VERSION= eval $VERSION;
>
> on the next line. This means that MakeMaker sees "1.23_01" but Perl
> internal code for doing version checks sees "1.2301". This is all fine and
> dandy with pure perl modules.
>
> BUT, if the module is "bog standard" and uses XS this is a recipe for
> a fatal error. XS_BOOT_VERSIONCHECK will compare "1.23_01" to "1.2301" and
> decide that they are different versions and die.

See perlmodstyle:
> If you want to release a 'beta' or 'alpha' version of a module but
> don't want CPAN.pm to list it as most recent use an '_' after the
> regular version number followed by at least 2 digits, eg. 1.20_01. If
> you do this, the following idiom is recommended:
>
>   $VERSION = "1.12_01";
>   $XS_VERSION = $VERSION; # only needed if you have XS code
>   $VERSION = eval $VERSION;
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.