Not directly an answer to your question, but if you're interested in "
have a subroutine print out some tracing info before it gets called", you might want to check out
Sub::WrapPackages - add pre- and post-execution wrappers around all the subroutines in packages or around individual subs by Dave Cantrell.
Liz