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 <chris@bingosnet.co.uk>

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.

