develooper Front page | perl.perl5.porters | Postings from September 2011

Re: [ #70622] Versions Disappear

Nicholas Clark
September 7, 2011 04:05
Re: [ #70622] Versions Disappear
Message ID:
On Wed, Sep 07, 2011 at 06:57:14AM -0400, John Peacock wrote:
> On 09/06/2011 01:14 PM, David E. Wheeler wrote:

> >> *Any* code written expecting the 5.8.8 behavior of ->VERSION breaks in
> >> 5.10.0 or even in 5.8.8 if (prior to 0.92) is loaded by
> >> *any* module.
> >
> > Yeah, that's clearly wrong. should not change global behavior like that. UNIVERSAL::VERSION should do its own thing IMNSHO.
> is a pseudo-pragma.  The whole point of the CPAN release was 
> to make _any_ Perl act the same way regarding version comparisons. 
> There is no way to make that happen without having a version-object 
> aware UNIVERSAL::VERSION, which is why has exactly the same 
> code as exists in the Perl core...

Yes, this is accurate, but missing the complaint:

A *different* version of the Perl core.

The CPAN release contains the current Perl core semantics. That's good.

But what this means is that on any *previous* major release, any module
can load and as a side effect change core semantics everywhere.
Effectively, loading behaves like upgrading perl to a different
major version. At runtime. From any module's code.

I don't have a solution to that. But that's the concern. Legitimate in my

Nicholas Clark Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About