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