$PERLDB
$^P

用于调试支持的内部变量。各个位的含义可能会发生变化,但目前表示

0x01

调试子程序进入/退出。

0x02

逐行调试。导致DB::DB()子程序在执行的每个语句之前被调用。还会导致保存源代码行(如 0x400)。

0x04

关闭优化。

0x08

为将来的交互式检查保留更多数据。

0x10

保留关于定义子程序的源代码行的信息。

0x20

从单步执行开始。

0x40

在报告时使用子程序地址而不是名称。

0x80

也报告goto &subroutine

0x100

为基于编译位置的 evals 提供信息丰富的“文件”名称。

0x200

为基于编译位置的匿名子程序提供信息丰富的名称。

0x400

将源代码行保存到@{"_<$filename"}中。

0x800

在保存源代码时,包括不生成子程序的 evals。

0x1000

在保存源代码时,包括未编译的源代码。

一些位可能仅在编译时相关,一些仅在运行时相关。这是一种新机制,细节可能会改变。另请参见 perldebguts