local::libがアプリケーションのモジュール配布に使えそう
local::lib
http://search.cpan.org/~mstrout/local-lib-1.002000/lib/local/lib.pm
local::libの向いてる用途は以下のような感じ。
This makes it easier to ship an application with an app-specific copy of a Perl module, or collection of modules. Useful in cases like when an upstream maintainer hasn't applied a patch to a module of theirs that you need for your application.
local::libを試すのに、以下のようなスクリプトを試してみる。
#!/usr/bin/env perl use local::lib; use HelloWorld; HelloWorld->new->hello_world;
HelloWorld.pmを~/perl5/lib/perl5 に置けば、HelloWorldモジュールを上記のスクリプトでロードして使う事ができる。
以下のように書けば、~/perl5ではなくて、違うパスのも読めるので、アプリ用のライブラリを読める。これは、かなりいい使い方なんじゃないかなぁという気がしている。
use FindBin; use local::lib "$FindBin::Bin/../support"; # app-local support library
CPANはライブラリを提供するべき場のような気がしていて、こうやってアプリケーション用のモジュールは、CPANにUPせずに別の場所に置く形にしたほうがいいんじゃないかなと。そういう用途にlocal::libはかなり使える気がする。