A while back, someone posted an SoPW about having trouble maintaining someone else's complicated perl app (lots of separate perl files, lots of subs, etc), and it lead me to write and post this simple-minded tool
, based on an idea that had worked pretty well for me when I had the same problem handling packages in C: scan all the source code files and build a listing that shows where subs are declared, and where they're called.
Of course, Perl is a bit tougher to parse than C, so my perl version of the tool is "less deterministic"... Still, I wonder if something like this might help in your case, at least to give a decent starting point for the diagnostics that you really want. Basically, it's a matter of comparing the sub calls against the sub declarations to see if there are any "outliers".