in reply to Reverse Engineering Perl Using... Perl.

If you want to catch all the named subroutines, these will be in the symbol table hash (stash) %main:: (also known as %::) or %Foo::Bar::.

One way to get this is through the perl debugger. Run a script and issue the following command:

DB<1> x %::

This will pick up all the global variables and subs in main:: and also all the packages. You can walk into each package namespace and get further globals, packages and subs.

You can also get the debugger to read its commands from a file instead of stdin, which may help automate your process.

Hope this helps

--

Oh Lord, won’t you burn me a Knoppix CD ?
My friends all rate Windows, I must disagree.
Your powers of persuasion will set them all free,
So oh Lord, won’t you burn me a Knoppix CD ?
(Missquoting Janis Joplin)