2016年03月18日 19:37
use Data::Dumper;
package Foo;
sub new{ bless{ 'a'=>1,'b'=>sub{ return "foo" } },$_[0] };
# a weird REF-REF-SCALAR object
# 奇妙な REF-REF-SCALAR オブジェクト
package Fuz;
sub new{ bless{ \($_ = \'fu\'z'),$_[0] };
package main;
$foo = Foo->new;
$fuz = Fuz->new;
$boo = [
1,[],"abcd",\*foo,{1=>'a',023=>'b',0x45=>'c'}, \\"p\q\'r",$foo,$fuz
];
# 文字列 eval
$bar = eval(Dumper($boo));
print($@) if $@;
# pretty print (no array indices)
# なかなかな出力 ( 配列インデクスなし )
print Dumper($boo), Dumper($bar);
$VAR1 = [
1,
[],
'abcd',
\*::foo,
{
'69' => 'c',
'1' => 'a',
'19' => 'b'
},
\\'pq\'r',
bless( {
'a' => 1,
'b' => sub { "DUMMY" }
}, 'Foo' ),
bless( do{\(my $o = \'fuz\'z')}, 'Fuz' )
];
$VAR1 = [
1,
[],
'abcd',
\*::foo,
{
'69' => 'c',
'1' => 'a',
'19' => 'b'
},
\\'pq\'r',
bless( {
'a' => 1,
'b' => sub { "DUMMY" }
}, 'Foo' ),
bless( do{\(my $o = \'fuz\'z')}, 'Fuz' )
];
# don't output name where feasible
# 名前を出力しない 可能なら
$Data::Dumper::Terse = 1;
# turn off all pretty print
# off にする すべての pretty print を
$Data::Dumper::Indent = 0;
print Dumper($boo), "\n";
[1,[],'abcd',\*::foo,{'69' => 'c','1' => 'a','19' => 'b'},\\'pq\'r',bless( {'a' => 1,'b' => sub { "DUMMY" }}, 'Foo' ),bless( do{\(my $o = \'fuz\'z')}, 'Fuz' )]
# mild pretty print
# マイルドな pretty print
$Data::Dumper::Indent = 1;
print Dumper($boo);
$VAR1 = [
1,
[],
'abcd',
\*::foo,
{
'69' => 'c',
'1' => 'a',
'19' => 'b'
},
\\'pq\'r',
bless( {
'a' => 1,
'b' => sub { "DUMMY" }
}, 'Foo' ),
bless( do{\(my $o = \'fuz\'z')}, 'Fuz' )
];
# pretty print with array indices
# pretty print 配列インデクス付き
$Data::Dumper::Indent = 3;
print Dumper($boo);
$VAR1 = [
#0
1,
#1
[],
#2
'abcd',
#3
\*::foo,
#4
{
'69' => 'c',
'1' => 'a',
'19' => 'b'
},
#5
\\'pq\'r',
#6
bless( {
'a' => 1,
'b' => sub { "DUMMY" }
}, 'Foo' ),
#7
bless( do{\(my $o = \'fuz\'z')}, 'Fuz' )
];
# print strings is double quotes
# 出力する文字列は ダブルクォート
$Data::Dumper::Useqq = 1;
print Dumper($boo);
$VAR1 = [
1,
[],
"abcd",
\*::foo,
{
69 => "c",
1 => "a",
19 => "b"
},
\\"pq'r",
bless( {
"a" => 1,
"b" => sub { "DUMMY" }
}, 'Foo' ),
bless( do{\(my $o = \"fuz'z")}, 'Fuz' )
];
# specify hash key/value separator
# 指定する ハッシュ key/value のセパレータを
$Data::Dumper::Pair = " : ";
print Dumper($boo);
$VAR1 = [
1,
[],
'abcd',
\*::foo,
{
'69' : 'c',
'1' : 'a',
'19' : 'b'
},
\\'pq\'r',
bless( {
'a' : 1,
'b' : sub { "DUMMY" }
}, 'Foo' ),
bless( do{\(my $o = \'fuz\'z')}, 'Fuz' )
];