(Current version 0.10; last updated 18 July 1998)

Download Module

Manual


NAME

Devel::Trace - Print out each line before it is executed (like sh -x)


SYNOPSIS

  perl -d:Trace program


DESCRIPTION

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/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.


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');  # Enable
    Devel::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';                 # Enable
    trace 'off';                # Disable


TODO

We'll see.


Author

Mark-Jason Dominus (mjd-perl-trace@plover.com), Plover Systems co.

See The Devel::Trace.pm Page for news and upgrades.