Re: Module::Build cannot check required version of Parse::RecDescent 1.95.1

[email protected] (John Peacock)
Newsgroups perl.module.build
Message-ID <[email protected]>
Dominique Dumont wrote:
> This is confusing. Shouldn't 1.90 be mapped to 1.090.000 ?

I know it is confusing and it's not my fault; when 5.6.0 was released, the 
documentation specifically stated that 5.6.0 === 5.006000.  Besides, you haven't 
though this through; numeric versions have to [ultimately] be compared as 
numbers (because there is broken software that still does that, like EU::MM). 
Here is a sequence that shows why your interpretation won't work:

	Numeric		Extended
	1.80		1.80.0
	1.90		1.90.0
	1.99		1.99.0
	1.100!!!	1.100.0

As you can see, that last line fails to compare as a number, though it works 
fine with extended versions.

> But it is confusing to be required to specify a version that does not
> exists as is in Parse::RecDescent history. 

Well, that's Damian's fault for switching between numeric versions and 
multi-decimal version objects.  The very first section of the Best Practices 
portion of the POD for version.pm states:

        * Be consistent
            Whichever of the two types of version objects that you choose to
            employ, you should stick to either "Numeric Versions" or "Extended
            Versions" and not mix them together.  While this is possible, it is
            very confusing to the average user.

> Furthermore, this dependency test works fine with MakeMaker so it is a
> nasty surprise for people who are moving from MakeMaker to
> Module::Build.

MakeMaker doesn't use version objects at all, and in this case, it is MakeMaker 
that is broken.

Sorry

John
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.