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

Reply via email to