В чем разница между x и p в perl -d? - PullRequest
2 голосов
/ 13 июля 2011
  x|m expr       Evals expr in list context, dumps the result or lists methods.
  p expr         Print expression (uses script's current package).

Они кажутся мне идентичными, а чем отличаются?

Кроме того, есть ли какая-либо комбинация клавиш типа стрелки вверх / вниз в среде оболочки?

Ответы [ 2 ]

6 голосов
/ 13 июля 2011

См. perldoc perldebug :

p expr То же, что "print {$ DB :: OUT} expr" в текущем пакете.В частности, поскольку это просто собственная функция Perl «print», это означает, что вложенные структуры данных и объекты не выгружаются, в отличие от команды «x».

и

Readline Support / History в отладчике При поставке единственная предоставленная история командной строки - упрощенная, которая проверяет ведущие восклицательные знаки.Однако если вы установите модули Term :: ReadKey и Term :: ReadLine из CPAN (например, Term :: ReadLine :: Gnu, Term :: ReadLine :: Perl, ...), у вас будут все возможности редактирования, аналогичные GNUreadline (3) обеспечивает.Ищите их в каталоге modules / by-module / Term в CPAN.

0 голосов
/ 13 июля 2011

Проще говоря: x печатает структуры данных, p печатает скалярные значения. Попробуйте оба: p {x=>1, y=>2} вряд ли имеет смысл, но x {x=>1, y=>2} имеет смысл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...