Devel::Trace::Cwd - Print out each line before it is executed and track cwd changes
version 0.02
perl -d:Trace::Cwd program
If you run your program with perl -d:Trace::Cwd 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/perl print "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:
Trace
>> ./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.
-x
If the current working directory changes during execution that will be printed to standard error with a CWD: prefix.
CWD:
Inside your program, you can enable and disable tracing by doing
$Devel::Trace::Cwd::TRACE = 1; # Enable $Devel::Trace::Cwd::TRACE = 0; # Disable
or
Devel::Trace::Cwd::trace('on'); # Enable Devel::Trace::Cwd::trace('off'); # Disable
trace
Devel::Trace exports the trace function if you ask it to:
Devel::Trace
import Devel::Trace::Cwd 'trace';
Then if you want you just say
trace 'on'; # Enable trace 'off'; # Disable
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.
Mark-Jason Dominus (mjd-perl-trace@plover.com), Plover Systems co.
mjd-perl-trace@plover.com
See the Devel::Trace.pm Page at http://www.plover.com/~mjd/perl/Trace for news and upgrades.
Devel::Trace.pm
Chris Williams <chris@bingosnet.co.uk>
This software is copyright (c) 2011 by Chris Williams and Mark-Jason Dominus.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
To install Devel::Trace::Cwd, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Devel::Trace::Cwd
CPAN shell
perl -MCPAN -e shell install Devel::Trace::Cwd
For more information on module installation, please visit the detailed CPAN module installation guide.