Perl – Listing your Program with a Debugger
Perfect programs are hard to get in the very first attempt. They have to go through various steps of debugging to fix all errors. There are two types of errors – Syntax errors and Logical errors. Syntax errors are easy to fix and are found fast. On the other hand, logical errors are hard to find and fix. Thus, a debugger is required to fix those errors.
In Perl, a debugger is an environment that executes the program line by line. This process is also known as single-stepping through the program. To enter into debugger, follow the Syntax given below:
perl -d <program_name>
Sample Program to Debug:
Listing Sample Code with Debugger
- ‘l’ command :
The ‘l’ command lets us print a partial part of our scripts. There are several versions of this command that we can use –
- Use ‘l’ – Displays 10 lines of script from location of cursor.
- Using l 4+6 – Displays 6 lines of script starting from line 4.
- Using l 4-7 – Displays lines 4 through 7 of script.
- Using l 20 – Displays script on line 20.
- Using l foo – Displays approximately first 10 lines of foo() function.
- ‘-‘ command :
Outputs 10 lines of script before the current line. Suppose that you are current on line 20, then, lines 9 to 19 will be displayed.
- ‘w’ command :
Adds a watch expression.
- ‘//’ and ‘??’ :
// and ?? search for a given pattern in the script. The /pattern/ searches for a pattern in forward direction while, the ?pattern? searches for a pattern in the backward direction from the current position of cursor.
/pattern/ or ?pattern?
- ‘S’ command :
This command lists all the subroutines not matching a given pattern.