Модуль perl для отладочного вывода сложных типов данных


ramok аватар

ramok - Posted on 25 Апрель 2008

Если вы пишите на perl что нибуть сложнее однострочников, часто спасательным кругом становится модуль Data::Dumper.
Этот модуль очень полезен как для отладки и так и при разборе чужих программ и позволяет выводить содержимое любых сложных стукрур данных со всем их содержимым.

Например разбираемся в программе и видим что из модуля возвращается массив @data в котором находятся нужные нам данные.
Выводим его с помощью

use Data::Dumper;
print STDERR Dumper @data;

и видим что то типа

$VAR1 = {
          'TS' => '13550361229',
          'INDEX' => 1,
          'FL' => 1,
          'TD' => '73728',
          'DT' => 'addr'
        };
$VAR2 = {
          'TS' => '13550484957',
          'INDEX' => 2,
          'TD' => '82944',
          'FR' => 1,
          'DT' => 'mps'
        };
...
$VAR346 = { 
            'TS' => '13619541826',
            'INDEX' => 346,
            'TD' => '89088',
            'FR' => 1,
            'DT' => 'mps_ack'
          };

Ага. Сразу видно что это массив из хешей, и сразу видно и размер массива, и ключи в хешах и что по ним находится.

0
Ваша оценка: Ничего

некоторые однострочники многим скриптам 100 очков вперёд дадут

однострочники это обычно или для элеметраных вещей или это уже высший пилотаж, который пишется людьми думающими на perl, и которым не нужен Dumper что бы понять что за структуру он там намутил Ж:-)
--
Signature invent in progress 24% ##........