

Why not use more lexicals?Įxperienced Perl programmers will note that the debugger code tends to use mostly package globals rather than lexically-scoped variables. Some of these have survived into the current debugger a few of the more interesting and still-useful idioms are noted in this section, along with notes on the comments themselves. So a lot of the things one would normally have done using such features was done using global variables, globs and the local() operator in creative ways. When the debugger was first written, Perl didn't have a lot of its nicer features - no references, no lexical variables, no closures, no object-oriented programming. There are a number of reasons for this, many stemming out of the debugger's history. The debugger can look pretty forbidding to many Perl programmers. This documentation tries to outline the structure and services provided by, and to describe how you can use them. It is loaded automatically by Perl when you invoke a script with perl -d. the perl debugger SYNOPSIS perl -d your_Perl_script DESCRIPTION PRE-AND-POST-PROMPT COMMANDS AND ACTIONS.Symbol completion: current package or package main.Scalar, array, and hash completion: partially qualified package.DEBUGGER INITIALIZATION - THE SECOND BEGIN BLOCK.


setman - figure out which command to use to show documentation.methods_via($class, $prefix, $crawl_upward).LineInfo - where the line number information goes.MISCELLANEOUS SIGNAL AND I/O MANAGEMENT.option_val - find the current value of an option.dump_option - list the current value of an option setting.NEW COMMANDS: a, A, b, B, h, l, L, M, o, O, P, v, w, W, without messing up the debugger S - list subroutines matching/not matching a pattern.Parameters and variables influencing execution of DB::eval().Automated variable stacking via local().
