Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??
Hello monks,

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.

In reply to Inspection/Introspection by ceedee

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others contemplating the Monastery: (5)
As of 2024-03-28 20:53 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found