Makefile.PLと環境依存な設定値について
結構悩み中です。なんか良いCPANモジュールあればいいのになぁ。
はじめに
Perlモジュールを作っていると、どうしても環境依存な設定値ってのが必要なシーンがある。
例えばDBD::mysqlなんかだとテスト用のデータベースの所在だとか聞かれるけど、ああいう奴の事。
やりたいことってのは、
なんて事をやりたい。
Makefile.PLをめぐるアレコレ
ExtUtils::MakeMaker::prompt()
とりあえずinteractiveにユーザーに問い合わせるにはprompt()関数でOKだと思う。
my $apache_dir = prompt("your apache dir: (default: /usr/local/bin/)", "/usr/local/bin");
みたいな感じ。
ただこれはユーザーに問い合わせるだけなので、いずれにせよ何らかの形で保存しないとダメ。
Module::TestConfig
このモジュールはまさにやりたい事に限りなく近いのだが、とりあえずインストール出来なかった罠。
かなり古いモジュールのようだし、使ってる様子もGoogle Code Searchでは無かったのでステ。
CGI::UploaderのMakefile.PL
CGI::UploaderのMakefile.PLは力業でやってます。
でもエレガントとは言いがたい。
Filter::CryptoのMakefile.PL
Filter::CryptoのMakefile.PLですけど、
こちらはかなりModule::InstallのPrivate Extensionを駆使なさってる。
いずれもこの方の拡張ですけど、毎回こういうの置いていくのもなぁ。
で結論
とりあえず誰か良い方法知ってたら是非教えて下さい。orz...
ってかそういうモジュールを作るってのが一番良さそうな気がする。
ふぅ。