動的に use を行う

以前、フレームワークを自作した際、クラスを動的にロードする為に require を使ってましたが、eval と use を使う方法に変更しました。

eval "use $module_name";

多分、perl上級者には、当たり前の方法なんですが orz

JavaScriptJSON 形式のデータを扱う方法を眺めてて…ハっ!?と気が付きました(汗

その後

Catalyst では、UNIVERSAL::require というのを使い $plugin->require とかやってました。
UNIVERSAL::require には、use という method もあるので、$module_name->use でいけそう。

ちなみに、Perl Best Pracitice には、eval "hogehoge"; 使うなと書いてあり、eval {hogehoge}; としなさいと書いてます。