我想在调试器中显示提示之前输出一个semicomplex结构.显示它的最佳方法是使用该x命令,但该命令在该名称下不可用,或者可能不在范围内.
我怎么做到这一点?
请参阅文件< [command]中perldebug:
<[命令]
在每个调试器提示符之前设置一个操作(Perl命令).
x不是Perl命令.你想要{ [command]:
{[命令]
在每个调试器提示符之前设置一个动作(调试器命令).
例如:
$ perl -de'$foo = { foo => "bar" };
print $foo'
Loading DB routines from perl5db.pl version 1.37
Editor support available.
Enter h or 'h h' for help, or 'man perldebug' for more help.
main::(-e:1): $foo = { foo => "bar" };
DB<1> { x $foo
DB<2> n
main::(-e:2): print $foo
auto(-1) DB<2> x $foo
0 HASH(0x22af2c8)
'foo' => 'bar'
Run Code Online (Sandbox Code Playgroud)
或者,使用您最喜欢的转储模块(例如Data :: Dumper,Data :: Dump,Data :: Printer):
$ perl -de'$foo = { foo => "bar" };
print $foo'
Loading DB routines from perl5db.pl version 1.37
Editor support available.
Enter h or 'h h' for help, or 'man perldebug' for more help.
main::(-e:1): $foo = { foo => "bar" };
DB<1> use Data::Dumper
DB<2> < print Dumper $foo
DB<3> n
main::(-e:2): print $foo
$VAR1 = {
'foo' => 'bar'
};
Run Code Online (Sandbox Code Playgroud)