perl -d中x和p之间有什么区别?

new*_*erl 2 debugging perl

  x|m expr       Evals expr in list context, dumps the result or lists methods.
  p expr         Print expression (uses script's current package).
Run Code Online (Sandbox Code Playgroud)

它们看起来和我一模一样,有什么不同?

另外,在shell环境中是否有像上/下箭头键那样的捷径?

yst*_*sth 6

perldoc perldebug:

p expr与当前包中的"print {$ DB :: OUT} expr"相同.特别是,因为这只是Perl自己的"print"函数,这意味着不会转储嵌套数据结构和对象,这与"x"命令不同.

调试器中的读取支持/历史记录出厂时,提供的唯一命令行历史记录是一个简单的命令行历史记录,用于检查前导感叹号.但是,如果从CPAN安装Term :: ReadKey和Term :: ReadLine模块(例如Term :: ReadLine :: Gnu,Term :: ReadLine :: Perl,...),您将拥有与GNU非常相似的完整编辑功能. readline(3)提供.在CPAN上的modules/by-module/Term目录中查找这些内容.