珀尔 |使用调试器显示变量值
Perl 中的调试器提供了各种功能,从而使调试过程变得非常简单和有效。 Perl 调试器最强大的功能之一是显示变量值。此功能允许我们随时显示任何变量的值。有两个基本命令可以实现此功能:
- “X”命令
- 'V' 命令
“X”命令
'X'命令显示当前包中变量的值。它返回命令中指定的变量的值。如果X command
被自己调用,那么它会返回所有用户定义变量的列表以及当前包的系统定义变量。
句法:
X variablename;
考虑下面给出的示例,以仔细查看命令的功能:
DB<5> X geek;
上面的语句将返回 geek 变量的值$geek = '0' 。输出中的变量名称将始终以“ $ ”符号为前缀。
通常当前包是主包,因此,在这种情况下,使用该命令将仅返回主包中的变量值。
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.
'X' command
也可用于显示数组变量的值。正如您之前指定的变量名称一样,您必须指定数组变量名称。考虑下面给出的声明:
DB<6> X array1;
此语句将以以下格式返回数组变量的值:
@array1 = (
0 'Geeks'
1 'for'
2 'Geeks'
)
有时在某些情况下,您的代码可能具有相似的标量变量和数组变量名称。其中, 'X' command
返回两个变量的值。考虑下面给出的示例:
DB<9> X geeks;
考虑有两个名为 geeks 的变量;一个是标量变量,另一个是数组变量,那么输出将是这样的:
$geeks = '0'
@geeks = (
0 'Geeks'
1 'for'
2 'Geeks'
)
'V' 命令
'V' command
类似于'X' command
,只是它允许您打印任何包的变量值。如果我们只指定包名,则返回该包中所有变量的值,否则,如果指定了变量名,则返回指定变量的值。
句法:
V packagename variablename;
考虑下面给出的示例,以仔细查看命令的功能:
DB<5> V mygeek geek;
上面的语句将 mygeek 包的变量 geek 的值返回为$mygeek = '0' 。
如果没有指定变量名而只指定了包名,则返回指定包的所有变量及其值。考虑下面给出的示例:
DB<5> V mygeek;
该语句将返回包mygeek的所有变量。
笔记:
'V' command
的其余功能与'X' command
相同,无论是显示数组变量的值还是显示具有相似名称的变量的值。