2012-03-27 2 views
8

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

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

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

Печать:

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

Я хочу иметь:

{ 
    '-UPDATE' => 0, 
} 

ответ

14

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

$ perl -MData::Dumper -wle '$Data::Dumper::Terse = 1; print Dumper {-PARAMS => 1}' 
{ 
    '-PARAMS' => 1 
} 
+0

Это сделало трюк - спасибо! –

6

Или использовать синтаксис OO:

print Data::Dumper->new([ {-PARAMS => 1 } ])->Terse(1)->Dump; 
Смежные вопросы