Perl 用调试器显示变量值
Perl中的调试器具有各种功能,从而使调试过程变得相当简单和有效。Perl调试器最强大的功能之一是显示变量值。这个功能允许我们在任何时候显示任何变量的值。有两个基本的命令来实现这个功能。
- ‘X’命令
- ‘V’命令
X命令
X 命令显示当前包中变量的值。它返回命令中指定的变量的值。如果 X命令 被单独调用,那么它将返回当前包中所有用户定义的变量和系统定义的变量的列表。
语法
请看下面的例子,仔细看看这个命令的功能。
上述语句将返回 geek 变量的值为 $geek = ‘0 ‘ 。输出中的变量名总是以 ‘$ ‘符号为前缀。
一般来说,当前包是main,因此,在这种情况下,使用这个命令将只返回main包中的变量值。
注意: 在使用’X’命令时,千万不要在变量名前加上$符号。如果遇到这个符号,调试器在输出中不会返回任何东西。
X 命令 也可以用来显示数组变量的值。正如你在前面指定的变量名称一样,你也必须指定数组变量的名称。请看下面的语句。
该语句将以如下格式返回数组变量的值。
有时,你的代码中可能会出现标量变量和数组变量名称相似的情况。在这种情况下, ‘ X ‘命令 会返回两个变量的值。请看下面的例子。
考虑到有两个名为geek的变量,一个是标量变量,另一个是数组变量,那么输出将是这样的。
V命令
V 命令 与 **” X **”命令类似,只是它允许你打印任何包中的变量值。如果我们只指定包的名称,它将返回该包中所有变量的值;如果指定了变量的名称,它将返回指定变量的值。
语法
请看下面的例子,仔细看看这个命令的功能。
上述语句将返回包mygeek的变量geek的值为 $mygeek = ‘0 ‘ .
如果没有指定变量名,只指定了包名,那么它将返回指定包的所有变量及其值。请看下面的例子。
这条语句将返回包 mygeek 的所有变量 。
注:
‘ V ‘命令 的其他功能与 ‘ X ‘命令 相同,无论是显示数组变量的值还是显示名称相似的变量的值。