我想显示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
我做错了什么?
答案 0 :(得分:1)
您必须声明别名code
并使用您要运行的命令删除该内容。所以在.perldb
内部做一个替换命令来获取它,如:
$DB::alias{ 'code' } = 's/^.*$/l 1+99999/';
然后在调试器中使用:
DB<100> code
它将输出脚本的整个代码(如果有更少的行数十万: - )