$PERLDB
$^P

用於除錯支援的內部變數。各種位元的意思可能會改變,但目前表示

0x01

除錯子常式進入/離開。

0x02

逐行除錯。導致 DB::DB() 子常式在執行每個陳述式時被呼叫。也導致儲存原始程式碼行(例如 0x400)。

0x04

關閉最佳化。

0x08

保留更多資料以供將來的互動式檢查。

0x10

保留子例程定義的原始碼行資訊。

0x20

從單步開始。

0x40

報告時使用子例程地址,而非名稱。

0x80

也報告 goto &subroutine

0x100

根據編譯位置,提供有意義的 eval「檔案」名稱。

0x200

根據編譯位置,提供有意義的匿名子例程名稱。

0x400

將原始碼行儲存到 @{"_<$filename"}

0x800

儲存原始碼時,包含未產生子例程的 eval。

0x1000

儲存原始碼時,包含未編譯的原始碼。

有些位元可能只在編譯時相關,有些則只在執行時相關。這是一種新的機制,其詳細資訊可能會變更。另請參閱 perldebguts