in reply to Module not loading completely? Part 2

This still sounds as if you are either loading the wrong module (maybe an old(er) version) or loading the same module (or package) twice.

A potential approach to find out what modules actually get loaded is to make Perl output every file as it loads them:

#!perl -w use strict; use Data::Dumper; warn "Looking for files in"; warn Dumper \@INC; warn "PERL5LIB=$ENV{PERL5LIB}" if $ENV{ PERL5LIB }; BEGIN { unshift @INC, sub { warn "Loading module from $_[1]"; warn Dum +per \%INC; undef }}; use CG::CORE2; warn "Done.";

This will show you what modules get loaded in every step, and from what file. Hopefully, an old version of your file will simply present itself there.

Replies are listed 'Best First'.
Re^2: Module not loading completely? Part 2
by ric00015 (Beadle) on Oct 30, 2013 at 21:43 UTC

    You are my hero! The culprit was PERL5LIB. It was pointing to an old directory containing mostly-unused and way out of date modules. I would never have found that without your code. If I could vote your solution up more than once, I would. And I'll have to wait until tomorrow to do so anyway.

    Now the question (albeit, unimportant) becomes, "Why did upgrading my CPAN modules trigger this change? Why didn't this show up before?" Still not going to mass-upgrade modules again. Ah, well. PERL5LIB is changed, problem solved, another tangentially related problem may also have been solved, this new question is not important. Today has been a good day. Thanks again.

    Oh, and the 9 subroutines that were mentioned in the warnings? They were all of the exported subs from that old version of Paths.pm. Just another tiny piece in this puzzle.