2011-07-13 100 views
2
x|m expr  Evals expr in list context, dumps the result or lists methods. 
    p expr   Print expression (uses script's current package). 

他們似乎與我相同,有什麼不同?perl -d中x和p有什麼區別?

另外,有沒有像在shell環境中的向上/向下箭頭鍵的任何捷徑?

回答

6

perldoc perldebug

p EXPR一樣的 「打印{$ DB :: OUT} expr的」 在當前包。特別是在 中,因爲這只是Perl自己的「打印」 函數,這意味着嵌套數據結構和 對象不會傾倒,與「x」命令不同。

的Readline支持/歷史在調試器 出廠時,所提供的唯一命令行歷史是一個簡單的一個 ,檢查領導驚歎號。但是,如果您從CPAN安裝 Term :: ReadKey和Term :: ReadLine模塊(例如 Term :: ReadLine :: Gnu,Term :: ReadLine :: Perl),您將擁有完整的 編輯功能很像GNU readline(3)提供的。在CPAN的modules/by-module/Term目錄中查找 。

+0

爲什麼'ReadKey'也需要? –

+0

哇! +1爲readline的東西 - 我認爲調試器中的readline是perl的編譯標誌。 – Dallaylaen

+0

@Dallaylaen,你的意思是'perl的編譯標誌'? –

0

簡而言之:x打印數據結構,p打印標量值。試試:p {x=>1, y=>2}是沒有意義的,但x {x=>1, y=>2}是有道理的。

相關問題