2011/12/23

Data::Dumper::AutoEncode 書いた

先日書いたXslate でダンプする話に出てきた、変数を再帰的にまとめて encode してダンプするモジュール Data::Dumper::AutoEncode を書きました。cpan にもあげてありますのでよろしければ使ってください。ダンプ結果で「\x{304a}\x{3067}\x{3093}」こういうの読めないよ!って思ってる人むけです。(多くの人は自力解決していると思いますが)

use utf8; # *
use Data::Dumper::AutoEncode;

my $foo = +{ bar => 'おでん' };

print eDumper($foo);
# { bar => "おでん" }

eDumper じゃなくて、Data::Dumper と同じ Dumper の方が書き換えなくて済むのに! という意見をもらいましたが、シリアライザとして Data::Dumper::Dumper を使用しているような場面がすでにあると、面倒くさい上に影響が大きいので eDumper という別名にしました。

あと、ドキュメントされてませんが、インデントやキーのソートやらを調整したい場合は $Data::Dumper::Indent など、Data::Dumper のをいじってください。基本的に、併用することを想定しているので、そこは分けていませんです。

サイト内検索