モジュールの読み込みにオプションをつける
use Hoge foo => 'bar';
みたいな感じで、読み込むときにオプションを設定できるようになっているモジュールがあります。例えば今私が使っているModule::Pluggableなんかもそうです。こういう実装をするにはどうすればいいのかと思って、ソースを読んでみたら意外とシンプルでした。ようは、自前のsub import
を定義するだけ。
use Hoge;
は、以下のコードと同義です。
BEGIN { require Hoge; Hoge->import; }
自分でimport
メソッドを用意して、そこで引数を処理してやればいいだけでした。これでちょっとコードが綺麗になったかな。
ここ何日かTangerine関係の記事書いてなかったけど、サボってたわけじゃなくて、書くまでもない小さな修正ばかりしてました。