パットそれがどんな構造なのかわからなかったり、
あるモジュールの返す値ってどんな構造なんだ??
というときがあります。
そういう時に便利よいのがData::Dumperモジュールだそうです。
というわけで、使ってみる。
use strict;
use warnings;
use Data::Dumper;
my @array = ([qw(a b c)], [qw(d e f)], [qw(g h i)]);
print Dumper \@array; #リファレンスを渡す
実行結果
$VAR1 = [ [ ],
'a',
'b',
'c',[ ],
'd',
'e',
'f',[ ],
'g',
'h',
'i',
];
他にも試してみますよー。
use strict;
use warnings;
use Data::Dumper;
my %hash;
$hash{a}{b} = "ab";
$hash{a}{c} = "ac";
$hash{b}{a} = "ba";
$hash{b}{c} = "bc";
$hash{c}{a} = "ca";
$hash{c}{b} = "cb";
print Dumper \%hash; #リファレンスを渡す
$VAR1 = {'c' => { }
'a' => 'ca',
'b' => 'cb', 'a' => { }
'c' => 'ac',
'b' => 'ab', 'b' => { }
'c' => 'bc',
'a' => 'ba'};
Indent...インデントを変更。下記値を指定するとOK。
0→インデントなし
1→固定幅
2→自動可変(ディフォルト)
Terse...変数名の表示/省略
0→変数名を省略しない(ディフォルト)
1→可能であれば省略
Sortkeys...項目のソート
0→キーをソートしない(ディフォルト)
1→キーをソートする
例えば、インデント固定幅(1) 変数名なし(0)でキーでソートする(1)ように指定すると…
use strict;
use warnings;
use Data::Dumper;
my %hash;
$hash{a}{b} = "ab";
$hash{a}{c} = "ac";
$hash{b}{a} = "ba";
$hash{b}{c} = "bc";
$hash{c}{a} = "ca";
$hash{c}{b} = "cb";
local $Data::Dumper::Indent = 1;
local $Data::Dumper::Terse = 1;
local $Data::Dumper::Sortkeys = 1;
print Dumper \%hash; #リファ(ry
{
'a' => {
'b' => 'ab',
'c' => 'ac'
},
'b' => {
'a' => 'ba',
'c' => 'bc'
},
'c' => {
'a' => 'ca',
'b' => 'cb'
}
}
Date::Dumperの和訳みっけましたので、メモ書きしときます。
→Data::Dumper - perlデータ構造の出力/eval両用文字列化
関連→Dumpvalueモジュール
0 件のコメント:
コメントを投稿