2011-07-13 69 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}是有道理的。

相关问题