11

この単純な Perl スクリプトがあります。

#! /usr/bin/perl -w

use strict;
use Data::Dumper;

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

print Dumper(\%foo);

以下を出力します。

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

代わりにこれを出力するにはどうすればよいですか?

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

4 に答える 4

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

拡張構文は 2 つの arrayref を取ります。1 つはダンプするスカラー、もう 1 つは使用する名前です。名前の前に * が付いていて、対応するスカラーが arrayref または hashref の場合、配列またはハッシュの代入が生成されます。

于 2009-05-26T03:08:52.637 に答える
8

ysth の回答に加えて、Ovid のData::Dumper::Namesモジュールを使用できます。

于 2009-05-26T03:17:04.010 に答える
7
use Data::Dumper;

$Data::Dumper::Terse = 1;

print '%foo = '.(Dumper \%foo);
于 2013-12-27T16:24:22.987 に答える
2

また、Data :: Dumper::Simpleは大まかにそれを行います。

于 2009-05-26T14:17:22.567 に答える