Perl Language                
            Отладочный вывод
        
        
            
    Поиск…
Демпинговые данные-структуры
use Data::Dumper;
my $data_structure = { foo => 'bar' };
print Dumper $data_structure;
 Использование Data :: Dumper - это простой способ взглянуть на структуры данных или содержимое переменной во время выполнения. Он поставляется с Perl, и вы можете легко загрузить его. Функция Dumper возвращает структуру данных, сериализованную таким образом, чтобы она выглядела как Perl-код. 
$VAR1 = {
        'foo' => 'bar',
}
Это очень полезно для быстрого просмотра некоторых значений в вашем коде. Это один из самых полезных инструментов в вашем арсенале. Прочтите полную документацию по metacpan .
Сбрасывание со стилем
Иногда Data :: Dumper недостаточно. Получил объект лося, который вы хотите проверить? Огромные номера той же структуры? Хотите, чтобы материал отсортировался? Цветные? Данные :: Принтер - ваш друг.
use Data::Printer;
p $data_structure;
 Данные :: Принтер записывает в STDERR, как warn . Это облегчает поиск выходных данных. По умолчанию он сортирует хеш-ключи и смотрит на объекты. 
use Data::Printer;
use LWP::UserAgent;
my $ua = LWP::UserAgent->new;
p $ua;
Он будет рассматривать все методы объекта, а также список внутренних элементов.
LWP::UserAgent  {
    Parents       LWP::MemberMixin
    public methods (45) : add_handler, agent, clone, conn_cache, cookie_jar, credentials, default_header, default_headers, delete, env_proxy, from, get, get_basic_credentials, get_my_handler, handlers, head, is_online, is_protocol_supported, local_address, max_redirect, max_size, mirror, new, no_proxy, parse_head, post, prepare_request, progress, protocols_allowed, protocols_forbidden, proxy, put, redirect_ok, remove_handler, request, requests_redirectable, run_handlers, send_request, set_my_handler, show_progress, simple_request, ssl_opts, timeout, use_alarm, use_eval
    private methods (4) : _agent, _need_proxy, _new_response, _process_colonic_headers
    internals: {
        def_headers             HTTP::Headers,
        handlers                {
            response_header   HTTP::Config
        },
        local_address           undef,
        max_redirect            7,
        max_size                undef,
        no_proxy                [],
        protocols_allowed       undef,
        protocols_forbidden     undef,
        proxy                   {},
        requests_redirectable   [
            [0] "GET",
            [1] "HEAD"
        ],
        show_progress           undef,
        ssl_opts                {
            verify_hostname   1
        },
        timeout                 180,
        use_eval                1
    }
}
Вы можете настроить его дальше, поэтому он сериализует определенные объекты определенным образом или включает объекты до произвольной глубины. Полная конфигурация доступна в документации .
К сожалению, Data :: Printer не поставляется с Perl, поэтому вам нужно установить его из CPAN или через систему управления пакетами.
Список удаленных массивов
my @data_array = (123, 456, 789, 'poi', 'uyt', "rew", "qas");
print Dumper @data_array;
 Использование Data :: Dumper дает легкий доступ к значениям списка извлечения. Dumper возвращает значения списка, сериализованные таким образом, который выглядит как код Perl. 
Выход:
$VAR1 = 123;
$VAR2 = 456;
$VAR3 = 789;
$VAR4 = 'poi';
$VAR5 = 'uyt';
$VAR6 = 'rew';
$VAR7 = 'qas';
Как было предложено пользователем @dgw При сбрасывании массивов или хешей лучше использовать ссылку на массив или хеш-ссылку, они будут лучше отображаться на входе.
$ref_data = [23,45,67,'mnb','vcx'];
print Dumper $ref_data;
Выход:
$VAR1 = [
          23,
          45,
          67,
          'mnb',
          'vcx'
        ];
Вы можете также ссылаться на массив при печати.
my @data_array = (23,45,67,'mnb','vcx');
print Dumper \@data_array;
Выход:
$VAR1 = [
          23,
          45,
          67,
          'mnb',
          'vcx'
        ];
Данные показывают
 Функция show автоматически экспортируется при use Data::Show; выполняется. Эта функция принимает переменную в качестве единственного аргумента и выводит: 
- имя переменной
- содержимое этой переменной (в читаемом формате)
-  строка showфайла запускается из
-  showфайла запускается из
 Предполагая, что следующий код из файла example.pl : 
use strict;
use warnings;
use Data::Show;
my @array = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
my %hash  = ( foo => 1, bar => { baz => 10, qux => 20 } );
my $href = \%hash;
show @array;
show %hash;
show $href;
 perl example.pl дает следующий результат: 
======(  @array  )=======================[ 'example.pl', line 11 ]======
    [1 .. 10]
======(  %hash  )========================[ 'example.pl', line 12 ]======
    { bar => { baz => 10, qux => 20 }, foo => 1 }
======(  $href  )========================[ 'example.pl', line 13 ]======
    { bar => { baz => 10, qux => 20 }, foo => 1 }
 См. Документацию для Data::Show . 
