Команда значения дампа: C для отладчика perl.

Чтобы полностью вывести все выражение, используйте команду x, которая полностью выгрузит
заданное значение:

DB‹13› x @x
0 'первая'
1 'вторая'
2 'третья'
3 'четвертая'
4 'пятая'
БД‹14›

Это лучше, но все еще немного неуклюже, x лучше использовать, давая
ссылку на переменную, тогда это будет выгружено с правильным
отступом, предлагая гораздо больше ясность:

DB‹14› x \@x
0 ARRAY(0x83560d0)
0 'первый'
1 'второй'
2 'третий'
3 'четвертый'< br /> 4 'пятая'
DB‹15›

Конечно, то же самое можно сделать с многоуровневыми структурами данных или объектами
, когда вы действительно можете увидеть, из чего состоит сложная переменная
, и именно здесь отступы действительно становятся полезными.

Сначала нам нужно создать нашу переменную:

DB‹15› %x = (\
cont: 'this' =› 'that',\
cont: 'chars'=› { 'vowels' =› qw(aeiou), 'others' =› qw(sqwrk) },\
cont: 'obj' =› bless({'_member' =› 'variable', '_context' =› 'init'}, 'Class'),\
продолжение: )
БД‹16›

Мы также включим самореферентную ссылку:

БД‹16› $x{‘self ref’} = \%x
БД‹17›

Теперь, когда мы выгружаем это, все становится намного более очевидным. Обратите особое внимание
на повторно используемую ссылку на память, обозначенную шестнадцатеричным
числом: 0x83ca658.

DB‹17› x \%x
0 HASH(0x83a50f0)
'chars' => HASH(0x83ca658)
'e' =› 'i'
'o' = › 'u'
'другие' =› 's'
'q' =› 'w'
'r' =› 'k'
'гласные' =› ' a'
'obj' =› Class=HASH(0x83ca838)
'_context' =› 'init'
'_member' =› 'variable'
'self ref' = › HASH(0x83a50f0)
-› REUSED_ADDRESS
'этот' => 'тот'
DB‹18›

Хотя этот дамп переменных очень похож на дамп, создаваемый Data::Dumper,
на самом деле он создается базовой библиотекой, называемой dumpvar.pl.

Вы можете прочитать больше в книге Pro-Perl-Debugging.

Первоначально опубликовано 2016–05–12 12:05:03.

Пост The Dump-Value Command: C впервые появился на RFI Publishing.

Первоначально опубликовано на Wordpress