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 件のコメント:
コメントを投稿