in reply to Getting a list of sub routines
Solves scoping issues, keeps everything in one place, easy to extend, won't mysteriously break if you reformat the source.