YAPC::Asia 2009 面白かったです。運営の皆様方、お疲れ様でした&ありがとうございました。
今回、「記憶」のセッションを訳したのですが、相変わらず拙くて申し訳なかったです。
Tutorialを訳し中なので、近々あげたいと思います。
で、YAPCで刺激をもらったので、新しいモジュールに手を付け始めました。
Util::Allというモジュールです。
これは、以前に作ったUtil::Any を使って,色んなモジュールのユーティリティを集めたものになります。
使い方は、Util::Anyと変わりません。
use Util::All -list, -md5; print md5_base64("aaaaaa"); print uniq (1,2,3,1,3,4,5,8);
こんな感じ。
今まで手をつけなかった理由として、僕自身がそんなにモジュールのユーティリティ関数を知らないっていうのと、名前の衝突とかをいい感じに回避したい(命名規則的に)ってのがあって、気軽に作る気になれなかったんです...が、ちょっといい方法を思いついたので,さくっと始めてみました。
今回はコードを書かずに、下記のようなYAMLファイルだけをいじることにしました。
--- list: List::Util: * List::MoreUtils: * debug: Data::Dumper: - Dumper: dumper Data::Dump: - dump
listていう種類は、List::Util と、List::MoreUtils の全関数(@EXPORT, @EXPORT_OKの)をexportする。
debugていう種類は、Data::Dumper の Dumper を dumper として、また、Data::Dump の dump をexportする。
っていう感じで、定義を行い、
% perl create_util_all.pl
で、Makefile.PL と、lib/Util/All.pm を作成することにしました。
これで、定義ファイルを変えるだけで、気軽に変更出来るので、楽ちんになりました。
このUtil::Allは気にくわないor社内の非公開モジュールも突っ込みたいって時も、このファイルを書き換えて、上記のコマンドを打てば、自分用のUtil::Allが作れますので、なかなか便利じゃないかなぁと。
コードはgithubにあげました。なお、定義ファイルですが、まだ全然精査してないので、変える可能性が大いにあります。
http://github.com/ktat/Util-All/tree/master