Perl |用调试器显示变量值
Perl 中的调试器提供了各种功能,因此调试过程非常简单有效。Perl 调试器最强大的功能之一是显示变量值。这个特性允许我们随时显示任何变量的值。有两个基本命令可以实现此功能:
- ' x '命令
- v '命令
' x '命令
‘X’命令显示当前包中变量的值。它返回命令中指定的变量值。如果**X command**
是自己调用的,那么它会返回当前包的所有用户定义变量以及系统定义变量的列表。
语法:
X variablename;
考虑下面给出的示例,进一步了解该命令的功能:
DB<5> X geek;
以上语句将极客变量值返回为\(极客= '0'** 。输出中的变量名总是以“ **\) ”符号作为前缀。
通常当前包是主包,因此,在这种情况下,使用这个命令将只返回主包中的变量值。
注意:在使用带有‘X’命令的变量名时,千万不要在变量名前加$符号。如果调试器遇到此符号,则在输出中不返回任何内容。
'X' command
也可以用来显示数组变量的值。正如您之前指定的变量名一样,您必须指定数组变量名。考虑以下陈述:
DB<6> X array1;
该语句将以以下格式返回数组变量值:
@array1 = (
0 'Geeks'
1 'for'
2 'Geeks'
)
有时在某些情况下,您的代码可能有类似的标量变量和数组变量的名称。其中, 'X' command
返回两个变量的值。考虑下面给出的例子:
DB<9> X 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**
相同,无论是显示数组变量值还是显示同名变量值。