>>>>> On Wed, 02 May 2007 21:32:13 -0400, John Peacock <[EMAIL PROTECTED]> said:

  > I'd have to know what release of CPAN you are using, since those two version
  > objects are equivalent.

I know that you believe that they are equivalent but this is not the
question. CPAN.pm honours the string representation of $VERSION and to
be equal, the string representation must be string-equal. Otherwise
CPAN.pm honours the difference. This has worked out well for a long
time but is now a bit broken. As I said in a previous posting, CPAN.pm
will switch to version.pm some time soon but as long as there are
changes going on, I prefer to wait.

 >> If it compares a version object to your META.yml, I think that should be 
 >> good.  If it is doing a string-compare, I think all bets are off.

  > Andreas has been very good about making sure that CPAN and PAUSE work with
  > version objects, so I suspect it is actually a back-versioned CPAN rather 
than
  > Module::Build.

There were no relevant changes to CPAN.pm. I take the full blame. (I'm
sorry for Julian.)

 >> Aside:  I'm thinking of changing most of my modules to simply say 
 >> "$VERSION = v0.1.2" just to see what breaks.  So far, it appears to be 
 >> less of an issue than the version.pm docs imply, at least back to 5.6.2 
 >> or so.

  > Well, since 'use version' replaces UNIVERSAL::VERSION with version-aware 
code,
  > you will find that now that code will actually work most of the time.  The 
one
  > problem you will have is that you won't be able to print the $VERSION scalar
  > because it will be a v-string.  And I don't know how well the PAUSE indexer 
will
  > cope...

The PAUSE indexer is nowadays less often involved because people send
META.yml and if that contains the provides attribute (as Mail-SPF
does), then its content is indexed.

Witness:

  provides:
    Mail::SPF:
      file: lib/Mail/SPF.pm
      version: 2.004000

Gratuitous trailing zeroes again.

-- 
andreas

Reply via email to