What I really want is the ability to do the following. * Turn on "tracing", where a program will print out every function/method entry and exit in indented form to show the program flow.
Sounds like you want Devel::TraceCalls.
http://search.cpan.org/author/RBS/Devel-TraceCalls-0.03/