Missing Subs?

When applications get large like this, it is often a useful exercise to write other programs to analyze your application. For example, collecting the previous two screens worth of data make it possible to write a Perl program to make sure that all the subroutines being called actually exist...which in fact they do not.

mylibrary-admin.pl MyLibrary::customizeLegalDisclaimer
mylibrary.pl MyLibrary::login
utilities/make-pathfinder.pl MyLibrary::gDBhandle
utilities/search.pl MyLibrary::uri

Which means that either there are existing bugs, or some code is no longer being executed and needs to be pruned.

Having these lists is also useful for determining how functionality can be grouped together as classes.