SYNOPSIS
#!/usr/bin/perl -d:CallTracepackage foo;
sub bar {
print ``bar\n'';
baz();
}
sub baz {
print ``boo\n'';
}
foo::bar();
RATIONALE
There are a number of perl modules in the CPAN that are designed to trace a program's execution as it runs. Each uses a different trick to do its job, but none of them quite met my needs. The technique this module uses is quite simple and seems to be quite robust.DB::sub
perl will automatically call DB::sub on each subroutine call and leave it up to us to dispatch to where we want to go.Devel::CallTrace::called
This routine is called with two parameters:- DEPTH
- The integer ``depth'' that this call is being called at.
- PARAMS
- A reference to the routine's @INC
To get at the subroutine that was being called, have a look at $DB::sub
BUGS
It uses the debugger. How could it not have bugs?COPYRIGHT
Copyright 2005 Jesse Vincent <[email protected]>This module may be redistributed under the same terms as perl itself