この単純な Perl スクリプトがあります。
#! /usr/bin/perl -w
use strict;
use Data::Dumper;
my %foo = ( 'abc' => 1 );
print Dumper(\%foo);
以下を出力します。
$VAR1 = {
'abc' => 1
};
代わりにこれを出力するにはどうすればよいですか?
%foo = (
'abc' => 1
);
この単純な Perl スクリプトがあります。
#! /usr/bin/perl -w
use strict;
use Data::Dumper;
my %foo = ( 'abc' => 1 );
print Dumper(\%foo);
以下を出力します。
$VAR1 = {
'abc' => 1
};
代わりにこれを出力するにはどうすればよいですか?
%foo = (
'abc' => 1
);
print Data::Dumper->Dump( [ \%foo ], [ qw(*foo) ] );
拡張構文は 2 つの arrayref を取ります。1 つはダンプするスカラー、もう 1 つは使用する名前です。名前の前に * が付いていて、対応するスカラーが arrayref または hashref の場合、配列またはハッシュの代入が生成されます。
ysth の回答に加えて、Ovid のData::Dumper::Namesモジュールを使用できます。
use Data::Dumper;
$Data::Dumper::Terse = 1;
print '%foo = '.(Dumper \%foo);
また、Data :: Dumper::Simpleは大まかにそれを行います。