2009年2月28日土曜日

Data::Dumper

Data::DumperというのはPerlのモジュールです。とある仕事で教えてもらいましたが、便利です。

Perlのデータ構造を、そのままPerlコードとしてテキスト化してくれます。テキスト化したコードは、evalに与えるとそのままPerlとして解釈されます。その為、Data::Dumperでダンプしたコードをテキストファイルとして保存し、後ほど読み出してevalに与える、という形でデータ構造のシリアライズ/デシリアライズが可能です。

使い方はこんな感じ:

use Data::Dumper;

my %hoge = ("key1" => "val1", "key2" => "val2");
print Dumper(¥%hoge);

出力結果はこんな感じ。

$VAR1 = {"key1" => "val1", "key2" => "val2"};

"$VAR1"という変数名は勝手にDumperが名付けるんですが、これを無くす方が都合がよい場合は、

$Data::Dumper::Terse = 1;

というコードをDumper呼び出し前に挿入します。こうしておくと、例えば上記のテキストが保存された変数を$hogeとすると、

$fuga = eval $hoge;

という形でevalすれば、$fugaに上記の$VAR1に相当する連想配列へのレファレンスが代入されます。

ちなみに、Dumperに渡す引数はレファレンスであることにご注意を。

0 件のコメント: