You are viewing the version of this documentation from Perl 5.22.3. View the latest version
$PERLDB
$^P

The internal variable for debugging support. The meanings of the various bits are subject to change, but currently indicate:

0x01

Debug subroutine enter/exit.

0x02

Line-by-line debugging. Causes DB::DB() subroutine to be called for each statement executed. Also causes saving source code lines (like 0x400).

0x04

Switch off optimizations.

0x08

Preserve more data for future interactive inspections.

0x10

Keep info about source lines on which a subroutine is defined.

0x20

Start with single-step on.

0x40

Use subroutine address instead of name when reporting.

0x80

Report goto &subroutine as well.

0x100

Provide informative "file" names for evals based on the place they were compiled.

0x200

Provide informative names to anonymous subroutines based on the place they were compiled.

0x400

Save source code lines into @{"_<$filename"}.

0x800

When saving source, include evals that generate no subroutines.

0x1000

When saving source, include source that did not compile.

Some bits may be relevant at compile-time only, some at run-time only. This is a new mechanism and the details may change. See also perldebguts.