NAME
Log::TraceMessages - Perl extension for trace messages used in debugging
SYNOPSIS
use Log::TraceMessages qw(t d);
$Log::TraceMessages::On = 1;
t 'got to here';
t 'value of $a is ' . d($a);
{
local $Log::TraceMessages::On = 0;
t 'this message will not be printed';
}
# For a CGI program producing HTML
$Log::TraceMessages::CGI = 1;
# Or to turn on trace if there's a command-line argument '--trace'
Log::TraceMessages::check_argv();
DESCRIPTION
This module is a slightly better way to put trace statements into your code than just calling print(). It provides an easy way to turn trace on and off for particular sections of code without having to comment out bits of source.
USAGE
- $Log::TraceMessages::On
-
Flag controlling whether tracing is on or off. You can set it as you wish, and of course it can be
local
-ized. The default is off. - $Log::TraceMessages::CGI
-
Flag controlling whether the program printing trace messages is a CGI program (default is no). This means that trace messages will be printed as HTML to stdout, so they appear in the output page.
- t(messages)
-
Print the given strings, if tracing is enabled. Unless $Log::TraceMessages::CGI is true (see below), each message will be printed to standard error with a newline appended.
- trace(messages)
-
Synonym for
t(messages)
. - d(scalar)
-
Return a string representation of a scalar's value suitable for use in a trace statement. This is just a wrapper for Data::Dumper.
d()
will exit with '' if trace is not turned on. This is to stop your program being slowed down by generating lots of strings for trace statements that are never printed. - dmp(scalar)
-
Synonym for
d(scalar)
. - check_argv()
-
Looks at the global
@ARGV
of command-line parameters to find one called '--trace'. If this is found, it will be removed from@ARGV
and tracing will be turned on. Since tracing is off by default, callingcheck_argv()
is a way to make your program print trace only when you ask for it from the command line.
AUTHOR
Ed Avis, epa98@doc.ic.ac.uk
SEE ALSO
perl(1), Data::Dumper(3).
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 165:
You forgot a '=back' before '=head1'