GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  SEPIA::XREF (3)

.ds Aq ’

NAME

Sepia::Xref - Generates cross reference database for use by Perl programs.

CONTENTS

SYNOPSIS



    use Sepia::Xref qw(rebuild defs callers);

    rebuild;
    for (defs foo) {
        printf "%s:%d: sub %s\::foo() defined\n", @{$_}[0..2];
    }

    for (callers foo) {
        printf "%s:%d: sub foo() called by %s\::%s().\n", @{$_}[0..3];
    }



DESCRIPTION

Sepia::Xref is intended as a programmatic interface to the information supplied by B::Xref. It is intended to be a component for interactive Perl development, with other packages providing a friendly interface to the raw information it extracts. B::Xref could be seen as an example of this sort of user-level tool, if it weren’t for the fact that this module was created later, and stole most of its code.

    Variables

%call A map of subs to call locations and callers
%callby A map of subs to subs called.
%var_use A map of global/package variables to uses.
%var_def A map of global/package variables to definitions (usually empty, since it only picks up local (...) declarations.

    Functions

guess_module_file($pack, $ofile) XXX: it turns out that rooting around trying to figure out the file ourselves is more reliable than what we grab from the op. Are we doing this wrong?
rebuild() Rebuild the Xref database.
forget($func [, $mod]) Forget that $func was defined.
redefined($func [, $pack]) Recompute xref info for $func, or $pack::$func if $pack given.
callers($func) List callers of $func.
callees($func) List callees of $func.
var_defs($var) Find locations where $var is defined.
var_uses($var) Find locations where $var is used.
var_assigns($var) Find locations where $var is assigned to.
file_modules($file) List the modules defined in file $file.
var_apropos($expr) Find variables matching $expr.

EXPORTS

Nothing by default, but all sub and variable described above can be imported. Sepia::Xref also defines the tags :most for the above-listed functions, and :all for those and the variables as well.

BUGS

See B::Xref.
module names are ignored when looking up a sub.
file and line number guessing is evil Both should be done more cleanly and effectively. This is a hack because I don’t quite understand what perl saves. We should be able to do as well as its warning messages.
Some packages are not xref’d. Some internal packages are deliberately not cross-referenced, either because they are hairy and cause us problems, or because they are so commonly included as to be uninteresting. The current list includes all pragmatic modules, plus: B, O, AutoLoader, DynaLoader, XSLoader, Config, DB, VMS, FileHandle, Exporter, Carp, PerlIO::Layer.
Tree-view is not fully functional Ideally, clicking the function names in tree view would take you to that function. This doesn’t work. Also, more keys (like q to quit) should be implemented.

SEE ALSO

B::Xref, of which Sepia::Xref is a bastard child.

AUTHOR

B::Xref by Malcolm Beattie, m(angl|odifi)ed by Sean O’Rourke (seano@cpan.org).

POD ERRORS

Hey! <B>The above document had some coding errors, which are explained below:B>
Around line 120: You forgot a ’=back’ before ’=head2’
Around line 122: ’=item’ outside of any ’=over’
Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 SEPIA::XREF (3) 2011-03-20

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.