Data::Dumper

最終更新日時:2009-05-18 00:00:00
Perl

概要


Data::Dumper は指定した変数のデータ構造を Perl のシンタックスで表示します。
従って、デバッグ時に変数の内容を表示したい時等に使うと便利です。
それ以外にも、多階層のハッシュ等も正確に表示できるので、いわゆるデータやオブジェクトのちょっとしたシリアライズにも使えます。

使用例


デバッグ時など


 use Data::Dumper;
 $Data::Dumper::Indent = 1;
 $Data::Dumper::Terse = 1;
 my $hash = { test1 => { test11 => 'test12' },
             test2 => 'test3',
             test3 => [ 'test31', 'test32', 'test33' ],
            };
 print Dumper($hash);


出力結果:

 {
   'test1' => {
     'test11' => 'test12'
   },
   'test3' => [
     'test31',
     'test32',
     'test33'
   ],
   'test2' => 'test3'
 }


$Data::Dumper::Indentは表示時のインデント幅を1に設定します。
$Data::Dumper::Terseは、Data::Dumperが表示時に指定された変数をそれぞれ"$VAR数字"という名称の変数として表示するのですが、1を指定するとこの"$VAR数字"は表示されないようになります。
"$VAR数字"は複数の変数を指定した際にはあった方が見やすいかもしれませんが、1つの変数の場合には不要かと思います。

シリアライズ


データをシリアライズしてファイルに保存。

 use Data::Dumper;
 local $Data::Dumper::Indent = 1;
 local $Data::Dumper::Terse = 1;
 my $hash = ...;
 open(OUT, '>xxx.dat');
 print OUT Dumper($hash);
 close(OUT);


シリアライズして保存したファイルから読み込み

 open(IN, 'xxx.dat');
 my $d = join('', <IN>);
 close(IN);
 $hash = eval $d;


お問い合わせは 掲示板 にて。