in reply to Re: How to located cause of 'Subroutine SomeSubName redefined...' warnings
in thread How to located cause of 'Subroutine SomeSubName redefined...' warnings

No Joy. The 'Subroutine SomeSubName redefined....' warnings happen before the trace output starts. I'll keep looking at Devel::Trace to make sure I'm not missing something.

It appears to me that -d:Trace is generating output at run time. I need to see what is happening at compile time.... I think.
  • Comment on Re^2: How to located cause of 'Subroutine SomeSubName redefined...' warnings

Replies are listed 'Best First'.
Re^3: How to located cause of 'Subroutine SomeSubName redefined...' warnings
by Anonymous Monk on Dec 10, 2010 at 19:52 UTC
    Um, compile time can happen at runtime if you use do/require
    $ perl -d:Trace -e" use strict;" $ perl -d:Trace -e" require strict;" >> -e:1: require strict; >> C:/perl/5.10.1/lib/strict.pm:3: $strict::VERSION = "1.04"; >> C:/perl/5.10.1/lib/strict.pm:6: unless ( __FILE__ =~ /(^|[\/\\])\Q$ +{\__PACKAGE__}\E\.pmc?$/ ) { >> C:/perl/5.10.1/lib/strict.pm:6: unless ( __FILE__ =~ /(^|[\/\\])\Q$ +{\__PACKAGE__}\E\.pmc?$/ ) { >> C:/perl/5.10.1/lib/strict.pm:12: my %bitmask = ( >> C:/perl/5.10.1/lib/strict.pm:32: my $default_bits = bits(qw(refs su +bs vars)); >> C:/perl/5.10.1/lib/strict.pm:19: my $bits = 0; >> C:/perl/5.10.1/lib/strict.pm:20: my @wrong; >> C:/perl/5.10.1/lib/strict.pm:21: foreach my $s (@_) { >> C:/perl/5.10.1/lib/strict.pm:22: push @wrong, $s unless exists +$bitmask{$s}; >> C:/perl/5.10.1/lib/strict.pm:23: $bits |= $bitmask{$s} || 0 +; >> C:/perl/5.10.1/lib/strict.pm:22: push @wrong, $s unless exists +$bitmask{$s}; >> C:/perl/5.10.1/lib/strict.pm:23: $bits |= $bitmask{$s} || 0 +; >> C:/perl/5.10.1/lib/strict.pm:22: push @wrong, $s unless exists +$bitmask{$s}; >> C:/perl/5.10.1/lib/strict.pm:23: $bits |= $bitmask{$s} || 0 +; >> C:/perl/5.10.1/lib/strict.pm:25: if (@wrong) { >> C:/perl/5.10.1/lib/strict.pm:29: $bits; >> C:/perl/5.10.1/lib/strict.pm:44: 1; $