Bagarre has asked for the wisdom of the Perl Monks concerning the following question:

I'm looking for a program or script or something that can show me all of the sub routines in a program and also what other subroutines they can call.

Kind of like a graphical representation of a database but with a perl program.

The program in question is almost 3000 lines long and it's hard to keep track of what subroutines are called by what.

Thanks a ton!

Entities should not be multiplied unnecessarily.

Replies are listed 'Best First'.
Re: Graphicaly view a perl script??
by PodMaster (Abbot) on Jan 27, 2005 at 14:46 UTC
    See B::Xref

    Also, if you search perlmonks for B::Xref you'll find similar previous discussions -> B::Xref site:perlmonks.thepen.com

    MJD says "you can't just make shit up and expect the computer to know what you mean, retardo!"
    I run a Win32 PPM repository for perl 5.6.x and 5.8.x -- I take requests (README).
    ** The third rule of perl club is a statement of fact: pod is sexy.

Re: Graphicaly view a perl script??
by BrowserUk (Patriarch) on Jan 27, 2005 at 14:48 UTC

    B::Xref will generate an indented text calltree of a program for you. That will provide you with the information you require to produce a graph or diagram if you feel that is necessary or desirable.


    Examine what is said, not who speaks.
    Silence betokens consent.
    Love the truth but pardon error.
Re: Graphicaly view a perl script??
by borisz (Canon) on Jan 27, 2005 at 14:50 UTC
Re: Graphicaly view a perl script??
by thor (Priest) on Jan 27, 2005 at 14:49 UTC
    If you can find a way to parse the Perl code, GraphViz will be of tremendous help.

    thor

    Feel the white light, the light within
    Be your own disciple, fan the sparks of will
    For all of us waiting, your kingdom will come

Re: Graphicaly view a perl script??
by pelagic (Priest) on Jan 27, 2005 at 15:14 UTC
    Bagarre,
    you might also consider using a commercial IDE such as (depending on your development platform) Komodo.

    pelagic