Subject: | EU::MM reports inaccurate $VERSION |
EU::MM uses the "$VERSION = eval $VERSION" idiom to "normalize" the
$VERSION at run time. But in the eyes of version.pm, 6.63_02 is not the
same as 6.6302.
This problem manifests in Module::Install::Makefile, which adds EU::MM
as a build_requires and configure_requires dependency. The META
generated by Module::Install::Makefile says that EU-MM-6.6302 is
required. But that version doesn't really exist. The actual version is
6.63_02 which is considered "less than" 6.6302.
I think the solution here is to just not "$VERSION = eval $VERSION".
But I should note that this would directly contradict RT #21532. I also
noticed that EU::MM and EU::MM_Unix are the only packages that use this
idiom, so it does not appear to be systematic practice.
Also, Module::CoreList shows the EU::MM version (correctly) as 6.63_02.
I think it is a bit dubious that perl ships with a module that has a
developer $VERSION number. But that is a another matter.
What do you think?
-Jeff