|Think about Loose Coupling|
Inspection/Introspectionby ceedee (Sexton)
|on Jun 22, 2002 at 08:44 UTC||Need Help??|
ceedee has asked for the
wisdom of the Perl Monks concerning the following question:
I am faced with the task of having to be introduced to a series of scripts which have no documentation. After spending the last few days reading through them and tracing back and forth between required scripts, their structure is beginning to make some sense.
What I am after is some advice (nodes, links, anything) in terms of inspecting the structure of the existing scripts. I would like to write a script capable of peering into scripts loaded via require or use, distinguishing the difference between itself and the namespaces of the included scripts and recording the subs (and the arguments required for those subs if possible). Maybe someone can point me in the right direction.
I will be refering to the %INC collection as I trace through these scripts (since it is difficult to find the right script containing the correct subroutine...the collection of scripts is enormous the result of over a years work by a team of three). However I am thinking about keeping track of references to subroutines as they are executed, is there a variable which stores this sort of information during execution time such as defined subroutines and currently executing functions (maybe a stack of namespaces)?
I don't expect to be able to gain a complete picture of this collection, however I do want to be able to record some indication which can aid in the process of reading through them.