http://www.perlmonks.org?node_id=1214163


in reply to Re: Subroutine Time::HiRes::Time redefined ... Help
in thread Subroutine Time::HiRes::Time redefined ... Help

Good point. Having a look at %INC could help:

C:\>perl -MData::Dumper -MdaTA::duMPer -E "say Dumper(\%INC)" $VAR1 = { 'daTA/duMPer.pm' => 'C:/strawberry/perl/lib/daTA/duMPer.pm', 'warnings/register.pm' => 'C:/strawberry/perl/lib/warnings/r +egister.pm', 'bytes.pm' => 'C:/strawberry/perl/lib/bytes.pm', 'XSLoader.pm' => 'C:/strawberry/perl/lib/XSLoader.pm', 'Carp.pm' => 'C:/strawberry/perl/lib/Carp.pm', 'Exporter.pm' => 'C:/strawberry/perl/lib/Exporter.pm', 'strict.pm' => 'C:/strawberry/perl/lib/strict.pm', 'warnings.pm' => 'C:/strawberry/perl/lib/warnings.pm', 'overload.pm' => 'C:/strawberry/perl/lib/overload.pm', 'Data/Dumper.pm' => 'C:/strawberry/perl/lib/Data/Dumper.pm', 'feature.pm' => 'C:/strawberry/perl/lib/feature.pm' }; C:\>

Sorting the %INC keys definitively helps:

C:\>perl -MData::Dumper -MdaTA::duMPer -E "say for sort { lc($a) cmp l +c($b) } keys %INC" bytes.pm Carp.pm daTA/duMPer.pm Data/Dumper.pm Exporter.pm feature.pm overload.pm strict.pm warnings.pm warnings/register.pm XSLoader.pm C:\>

But the best way is to let perl find the problematic module name:

C:\>perl -MData::Dumper -MdaTA::duMPer -E "my %oops; $oops{lc $_}++ fo +r keys %INC; say for grep { $oops{$_}>1 } keys %oops" data/dumper.pm C:\>

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)