On Thu, Apr 16, 2009 at 10:18 AM, Jonathan Yu <[email protected]> wrote: > When the version pragma is used, META.yml creates files which have a > stringification of the $VERSION. This causes problems if version > objects are used, since the object becomes stringified as a v-string, > like: "v1.1" vs the "1.001" format that CPAN expects.
There's absolutely nothing wrong with "v1.1". PAUSE/CPAN handle that just fine. It might not be the best way to do it, but once that style got out into the wild, the tools adapted. Moreover, the "version" of a distribution should (I would even say "must") match the "version" component of the tarball uploaded to CPAN. The unique identity of a distribution on CPAN is the path name composed of the PAUSE ID of the uploader (often referred to as "author" though it doesn't have to be) and the archive filename. The filename has three parts: the distribution "name", the "version" and an archive suffix: PAUSEID/NAME-VERSION.SUFFIX META.yml does not record the PAUSEID of the uploader (as that information is not available to the build process), but it does include distribution name and version. These should match those components of the unique identity -- a point that I hope is clarified in future versions of the META.yml spec. -- David
