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

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; $
  • Comment on Re^3: How to located cause of 'Subroutine SomeSubName redefined...' warnings
  • Download Code