2013年09月05日

社内ツールなどで Perl スクリプトを配布する時にいちばん気になるトピックとしては、スクリプト中で依存しているモジュールをどうやってインストールさせるか?
という所ですね、最近は toolchain が強まってきて cpanm --installdeps . とか carton install をやってもらえば良いのですが、たかだかちょっとしたツールだったら git clone してもらってすぐにスクリプト叩いてもらいたんじゃんすか

ってことで、スマートかつクールにこの問題に対処するスクリプトの雛形を書いてみました。 core module 以外には Carton を予め入れておく必要があるのがまだまだ敷居高いですが、エンジニア向けのツールだったらだいぶ手間は下がるでしょう。

ポイントとしては、コードで使うモジュールを use する前の BEGIN ブロックで必要なモジュールを既に入れておくので、 Acme::Hidek が未インストールな状態でもエラーにならずに実行可能という点と、 carton を使って依存モジュールをインストールしているので carton exec で起動した相当の処理を行っている点です。

ここから話を広げた話題を YAPC::Asia 2013 TOKYO で発表するので興味のある人は来るといいです。

Posted by Yappo at 2013年09月05日 17:43 | TrackBack | Perl
Comments
Post a comment









Remember personal info?






コメントを投稿する前に↓の場所にnospamと入力してください。