簡體   English   中英

為什么在嘗試顯示源時出現.perldb別名語法錯誤?

[英]Why do I get .perldb alias syntax error when trying to display source?

我想顯示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

我做錯了什么?

您必須聲明別名code然后使用要運行的命令刪除該內容。 因此,在.perldb內部執行替換命令來獲取它,例如:

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

然后在調試器中使用:

DB<100> code

它將輸出腳本的全部代碼(如果行數少於十萬,則為:-)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM