Perl | Displaying Variable Values with a Debugger
Last Updated :
21 Nov, 2019
Debugger in
Perl comes up with various features thus making the debugging process quite simple and effective. One of the most powerful features of Perl Debugger is displaying variable values. This feature allows us to display the value of any variable at any time. There are two basic commands to implement this feature:
'X' command
The
'X' command displays the value of the variables in the current package. It returns the value of the variable which is specified in the command. If the
X command
is called by itself, then it returns a list of all the user-defined variables along with system-defined variables of the current package.
Syntax:
X variablename;
Consider the example given below to have a closer look at the functionality of the command:
DB<5> X geek;
The above statement will return the value of geek variable as
$geek = '0'. The variable name in the output will always be prefixed by a '
$' symbol.
Generally the current package is main, thus, in that case, the use of this command will return the values of the variables in the main package only.
Note: Never prefix the variable name with a $ sign while using it with 'X' command. The debugger returns nothing in the output if it encounters this symbol.
The
'X' command
can also be used to display the values of array variables. As you specified earlier the variable name similarly you have to specify the array variable name. Consider the statement given below:
DB<6> X array1;
This statement will return the values of the array variable in the following format:
@array1 = (
0 'Geeks'
1 'for'
2 'Geeks'
)
Sometimes there are conditions that your code may have similar names of scalar variables and array variables. In that, the
'X' command
returns the values of both the variables. Consider the example given below:
DB<9> X geeks;
Consider that there are two variables with the name geeks; one being a scalar variable and other being an array variable, then the output will be something like this:
$geeks = '0'
@geeks = (
0 'Geeks'
1 'for'
2 'Geeks'
)
'V' command
The
'V' command
is similar to
'X' command
except that it allows you to print the values of variables of any package. If we specify only the package name it returns the values of all the variables in that package else if the name of the variable is specified it returns the value of the specified variable.
Syntax:
V packagename variablename;
Consider the example given below to have a closer look at the functionality of the command:
DB<5> V mygeek geek;
The above statement will return the value of the variable geek of the package mygeek as
$mygeek = '0'.
If no variable name is specified and only the package name is specified, then it returns all the variables of the specified package along with their values. Consider the example given below:
DB<5> V mygeek;
This statement will return all the variables of the package
mygeek.
Note:
The rest of the functionality of the
'V' command
is same to the
'X' command
, whether its displaying the value of array variable or displaying the values of variable with similar name.
Similar Reads
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
3 min read
Perl Stepping Through Programs with a Debugger Controlling program execution in Perl can be done by telling the debugger to execute up to a certain specified point in the program, called a breakpoint. These breakpoints enable the user to divide the program into sections and look for errors. Following are some commands in a debugger that are used
3 min read
How to start with Selenium Debugging? Debugging is essential for any developer, especially when working with Selenium for test automation. As your test scripts grow in complexity, the chances of encountering unexpected issues increase. Selenium debugging allows you to identify and resolve these issues by systematically analyzing your co
6 min read
Perl - Introduction to Debugger Sure, here's an introduction to the debugger in Perl: The Perl debugger is a tool that helps you find and fix bugs in your Perl programs. It allows you to step through your code one line at a time, examine variables and expressions, set breakpoints, and much more. The debugger can be used in both co
9 min read
Troubleshooting with Ansible Debug Module IT automation and configuration management are some areas in which Ansible proves to be a very robust and versatile tool. Developed by Red Hat, Ansible enables system administrators to bid goodbye to mundane and repetitive tasks, deploy applications, and manage complex infrastructure easily. Its eas
7 min read