John Peacock wrote: > version.pm is not a dual-life module. The functionality provided by the CPAN > release is compatible to the core version object functionality in 5.9.x. The > XS > code in the CPAN release is a replica of the C code in util.c and universal.c > in > bleadperl. It isn't possible to do it otherwise, because UNIVERSAL::VERSION > must work without 'use version' being called. The core *has* to support > native > version objects without loading any module, hence there is nothing to install > from the CPAN release.
Why can't it load version.pm behind the scenes rather than duplicating it in universal.c? (I realize I'm probably opening a can of well sealed worms) > I just committed code like this: > > my $hash = $_[1]; > + if ( $] >= 5.009001 ) { # included in bleadperl > + $hash->{'PM'} = {}; > + $hash->{'MAN3PODS'} = {}; > + return $hash; > + } > > which neuters the Makefile.PL for bleadperl only. 0.69_03 is winding its way > through CPAN mirrors as we speak... That should do it as far as making the install process neuter. It'll still run the tests though. The idea of having a CPAN module which cannot upgrade the core version makes my feet itch. It sounds like it means going back to the old days where the only way to upgrade a module is to upgrade Perl. The version.pm situation makes it even more absurd because it sounds like you have the potential for a newer CPAN version to be installed onto an older Perl (without version.pm built in). Thus I could install the latest and greatest CPAN version.pm 2.13 onto 5.8.8 but with 5.10 I'll be stuck with 0.70 forever. Stop me if this isn't the case.