NAME Devel::Trace::Cwd - Print out each line before it is executed and track cwd changes VERSION version 0.02 SYNOPSIS perl -d:Trace::Cwd program DESCRIPTION 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: >> ./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. If the current working directory changes during execution that will be printed to standard error with a "CWD:" prefix. DETAILS 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: import Devel::Trace::Cwd 'trace'; Then if you want you just say trace 'on'; # Enable trace '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. BASED ON Devel::Trace Mark-Jason Dominus ("mjd-perl-trace@plover.com"), Plover Systems co. See the "Devel::Trace.pm" Page at http://www.plover.com/~mjd/perl/Trace for news and upgrades. AUTHOR Chris Williams COPYRIGHT AND LICENSE 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.