如何在Perl的Data :: Dumper中控制变量名?

时间:2009-05-26 02:49:49

标签: perl data-dumper

我有这个简单的Perl脚本:

#! /usr/bin/perl -w

use strict;
use Data::Dumper;

my %foo = ( 'abc' => 1 );

print Dumper(\%foo);

输出:

$VAR1 = {
          'abc' => 1
        };

如何让它输出呢?

%foo = (
         'abc' => 1
       );

4 个答案:

答案 0 :(得分:23)

print Data::Dumper->Dump( [ \%foo ], [ qw(*foo) ] );

扩展语法需要两个arrayrefs:一个要转储的标量,另一个要使用的名称。如果名称前缀为*且相应的标量是arrayref或hashref,则会生成数组或散列赋值。

答案 1 :(得分:8)

除了ysth的答案,您还可以使用Ovid的Data::Dumper::Names模块。

答案 2 :(得分:4)

use Data::Dumper;

$Data::Dumper::Terse = 1;

print '%foo = '.(Dumper \%foo);

答案 3 :(得分:2)

此外,Data::Dumper::Simple大致相同。