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

jimt999 has asked for the wisdom of the Perl Monks concerning the following question:

I have 2 perl modules, AA.pm calls BB.pm. I added a new call in AA.pm to BB.pm.
AA.pm sub Abug1 sub Asub2 BB::Bsub1 BB::Bsub2 sub Asub3
I added the call to BB::Bsub2 It compiles with out any warning or error. It executes ASub2 just fine and works. The problem is that Asub3 seems to no longer be defined when the call to BB:Bsub2 is present. When I try to access the web page that is served up by AA::Asub3 the error reported is:

Error executing run mode 'Asub3' : can't locate object method 'Asub3' via package "AA::Aa" in ... perl\site\lib\CGI\Application.pm line #143

I launched the program under the debugger and listed the present subroutines with "S AA". When the call to BB::Bsub2 is present, the AA::Asub3 doesn't show up. Remove the call to BB:Bsub2 and in the debugger "S AA" shows AA::Asub3 and everything works fine.

This is running strawberry perl v5.12.1.0 on Windows. Any pointers on how to debug this very much appreciated.