Devel::Trace3pm
Print out each line before it is executed (like "sh -x")
Usage
perl -d:Trace program
Overview
If you run your program with "perl -d:Trace program", this module will print a message to standard error just before each line is executed. For example, if your program looks like this:
#!/usr/bin/perlprint "Statement 1 at line 4\n";print "Statement 2 at line 5\n";print "Call to sub x returns ", &x(), " at line 6.\n";exit 0;sub x {print "In sub x at line 12.\n";return 13;}
Then the "Trace" output will look like this:
>> ./test:4: print "Statement 1 at line 4\n";>> ./test:5: print "Statement 2 at line 5\n";>> ./test:6: print "Call to sub x returns ", &x(), " at line 6.\n";>> ./test:12: print "In sub x at line 12.\n";>> ./test:13: return 13;>> ./test:8: exit 0;
This is something like the shell's "-x" option.
Details
Inside your program, you can enable and disable tracing by doing
$Devel::Trace::TRACE = 1; # Enable$Devel::Trace::TRACE = 0; # Disable
or
Devel::Trace::trace('on'); # EnableDevel::Trace::trace('off'); # Disable
"Devel::Trace" exports the "trace" function if you ask it to:
import Devel::Trace 'trace';
Then if you want you just say
trace 'on'; # Enabletrace 'off'; # Disable
Todo
•
|
You should be able to send the trace output to the filehandle of your choice. |
|---|---|
•
|
You should be able to specify the format of the output. |
•
|
You should be able to get the output into a string. |
We'll see.
Releases
7 releases since Debian 7 (Wheezy); the text changed 1 time.