📜  珀尔 |使用调试器显示变量值

📅  最后修改于: 2022-05-13 01:55:42.577000             🧑  作者: Mango

珀尔 |使用调试器显示变量值

Perl 中的调试器提供了各种功能,从而使调试过程变得非常简单和有效。 Perl 调试器最强大的功能之一是显示变量值。此功能允许我们随时显示任何变量的值。有两个基本命令可以实现此功能:

  • “X”命令
  • 'V' 命令

“X”命令

'X'命令显示当前包中变量的值。它返回命令中指定的变量的值。如果X command被自己调用,那么它会返回所有用户定义变量的列表以及当前包的系统定义变量。

句法:

X variablename;

考虑下面给出的示例,以仔细查看命令的功能:

DB<5> X geek;

上面的语句将返回 geek 变量的值$geek = '0' 。输出中的变量名称将始终以“ $ ”符号为前缀。

通常当前包是主包,因此,在这种情况下,使用该命令将仅返回主包中的变量值。

'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相同,无论是显示数组变量的值还是显示具有相似名称的变量的值。