Как предотвратить печать имени переменной с помощью `Data :: Dumper` - PullRequest
8 голосов
/ 27 марта 2012

Я использую Data::Dumper, чтобы напечатать хеш perl с конфигурацией, которая будет оценена другим скриптом. Проблема в том, что он всегда печатает $VAR = в начале вывода. Я попытался установить параметр Varname для пустой строки, но затем я получаю $1 вместо $VAR. Как предотвратить печать имени переменной, используя Dumper?

my $params = {-PARAMS => 0} #data

local $Data::Dumper::Purity = 1;
local $Data::Dumper::Varname  = "";
print Dumper($params) ;

Печать:

$1 = {
    '-UPDATE' => 0,
}

Я хочу иметь:

{
    '-UPDATE' => 0,
}

Ответы [ 2 ]

14 голосов
/ 27 марта 2012

Просто установите $Data::Dumper::Terse = 1;, и оно должно работать:

$ perl -MData::Dumper -wle '$Data::Dumper::Terse = 1; print Dumper {-PARAMS => 1}'
{
  '-PARAMS' => 1
}
6 голосов
/ 27 марта 2012

Или используйте синтаксис OO:

print Data::Dumper->new([ {-PARAMS => 1 } ])->Terse(1)->Dump;
...