Devel::Trace.3pm

Langue: en

Version: 1999-09-06 (mandriva - 01/05/08)

Section: 3 (Bibliothèques de fonctions)

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

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.

Author

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

See the C<Devel::Trace.pm> Page at http://www.plover.com/~mjd/perl/Trace for news and upgrades.