Elliot Shank wrote:
> Here's a hint as to why.  Have a look at the output of
> 
>    perl -Mversion -E "say qv('0.30')->numify(); say
> qv('0.3000')->numify();"
> 

qv() *is* *not* a replacement for version->new()!!! G-d I wish I'd never
introduced that method!!!  qv() always produces an extended version, so

        qv('0.30') == 0.30.0
and
        qv('0.3000') == 0.3000.0

NOT THE SAME THING!

However

        version->new('0.30') == 0.30 = 0.3
and
        version->new('0.3000') == 0.3000 == 0.30 == 0.3

So, why do you think that qv() is used here?  The latest release of
Module::Load::Conditional 0.26 has this text:

        ### use qv(), as it will deal with developer release number
        ### ie ones containing _ as well. This addresses bug report
        ### #29348: Version compare logic doesn't handle alphas?
        ###
        ### Update from JPeacock: apparently qv() and version->new
        ### are different things, and we *must* use version->new
        ### here, or things like #30056 might start happening
        $href->{uptodate} =
            version->new( $args->{version} ) <= version->new( $href->{version} )
                ? 1
                : 0;
    }

So it looks like /you/ have an old Module::Load::Conditional installed.  This
isn't CPANPLUS's fault and it isn't version.pm's fault and it has nothing to do
with Strawberry Perl (unless that stupidly includes the older M::L::C)...

John

Reply via email to