in reply to Re^2: Chasing up a module dependency issue
in thread Chasing up a module dependency issue

What you describe shouldn't happen, for the reasons you describe as well. Maybe the unit tests do something weird, or maybe you use use_ok, which can fail (for example due to a syntax error) but the test script itself will continue with a half-compiled module. I fear that this is not really debuggable from afar and mostly tied to your specific source code situation at work...

Maybe putting a callback into @INC allows you to debug what modules get loaded when, to narrow down the files after which problematic things happen:

push @INC, sub { print "Loading @_\n"; return () };

Maybe one of the modules contains a (second) package declaration that matches one found earlier and overwrites something in another package?

Replies are listed 'Best First'.
Re^4: Chasing up a module dependency issue
by cLive ;-) (Prior) on Mar 07, 2016 at 18:57 UTC

    It's only used in two places - I think I'm just going to remove Exporter completely (I hate imported methods anyway, heh).

    The scales that weigh up the balance of how interesting it would be to fully understand and getting on with my day are heavily swaying to the latter ;-)