Как управлять именами переменных в Data::Dumper Perl?
у меня есть простой Perl-скрипт:
#! /usr/bin/perl -w
use strict;
use Data::Dumper;
my %foo = ( 'abc' => 1 );
print Dumper(%foo);
выдает:
$VAR1 = {
'abc' => 1
};
как сделать так, чтобы он выводил это вместо этого?
%foo = (
'abc' => 1
);
4 ответов
print Data::Dumper->Dump( [ \%foo ], [ qw(*foo) ] );
расширенный синтаксис принимает два arrayrefs: один из скаляров для дампа и один из имен для использования. Если имя имеет префикс * и соответствующий скаляр является arrayref или hashref, создается назначение массива или хэша.
в дополнение к ответу ysth вы можете использовать Data::Dumper:: Names модуль.