0

我想显示 perl 脚本的整个源代码。在 .perldb 中添加了以下行:

$DB::alias{'code'} = 'l 1+99999;';

.perldb chmod 设置为 700。发出我的别名后,我收到以下错误:

  DB<1> code
Number found where operator expected at (eval 8)[/usr/share/perl5/perl5db.pl:2312] line 1, near "l 1"
    (Do you need to predeclare l?)
Couldn't evaluate `code' alias: syntax error at (eval 8)[/usr/share/perl5/perl5db.pl:2312] line 1, near "l 1"

别名似乎已正确加载:

  DB<2> =
code    l 1+100;

编辑:当我使用 '=' 命令定义别名时,它按预期工作:

 DB<2> = code l 1+99999
shcd    = l 1+99999

  DB<3> =
code    l 1+99999

我做错了什么?

4

1 回答 1

1

您必须声明别名code并使用要运行的命令删除该内容。所以在里面.perldb做一个替换命令来获取它,比如:

$DB::alias{ 'code' } = 's/^.*$/l 1+99999/';

然后在调试器中使用:

DB<100> code

它将输出脚本的整个代码(如果行数少于十万 :-)

于 2013-06-30T21:32:11.640 回答