Skip Menu |

This queue is for tickets about the Devel-TraceUse CPAN distribution.

Report information
The Basics
Id: 65284
Status: resolved
Priority: 0/
Queue: Devel-TraceUse

People
Owner: Nobody in particular
Requestors: ribasushi [...] leporine.io
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: (no value)
Fixed in: 2.04



Subject: Module broken with 5.13.x development perl versions
base.pm adds a "-1, set by base.pm" to unversioned packages. Devel::TraceUse does a ->VERSION which throws with non-numeric version numbers starting somewhere in 5.13. Subsequently the following is observed: perl -d:TraceUse -e 'package Foo; sub foo{}; package Bar; use base "Foo"' Modules used from -e: 1. base 2.15, -e line 1 [Bar] 2. strict 1.04, base.pm line 3 3. vars 1.02, base.pm line 4 4. warnings::register 1.02, vars.pm line 7 5. warnings 1.11, warnings/register.pm line 24 Invalid version format (non-numeric data) at /home/rabbit/perl5/perlbrew/perls/5.13.9_rc/lib/site_perl/5.13.9/Devel/TraceUse.pm line 121.
Subject: Re: [rt.cpan.org #65284] Module broken with 5.13.x development perl versions
Date: Thu, 3 Feb 2011 02:02:34 +0100
To: Peter Rabbitson via RT <bug-Devel-TraceUse [...] rt.cpan.org>
From: "Philippe Bruhat (BooK)" <philippe.bruhat [...] free.fr>
On Mon, Jan 31, 2011 at 07:15:20AM -0500, Peter Rabbitson via RT wrote: Show quoted text
> > base.pm adds a "-1, set by base.pm" to unversioned packages. > Devel::TraceUse does a ->VERSION which throws with non-numeric version > numbers starting somewhere in 5.13. Subsequently the following is observed: >
Brought the issue to p5p, so that the issue with VERSION() and base.pm is resolved in the more general case. I will resort to using ${"$pkg\::VERSION"} or similar in Devel::TraceUse. Thanks for the report. -- Philippe Bruhat (BooK) The greatest monster of them all is ignorance. (Moral to Pal'n Drumm Story in Groo #89 (Epic))
Hello, I can confirm that this happens on my 5.10.0 perl too! The fix was to change line 121 in TraceUse.pm 2.03: # my $version = $mod->{module}->VERSION; my $version = ${"$mod->{module}::VERSION"}; After doing that it no longer complains. The warning was: Invalid version format (non-numeric data) at /usr/local/share/perl/5.10.0/Devel/TraceUse.pm line 121. Hope this helps and thanks for a great module! -- ~Apocalypse