2011-01-19 8 views
3

私は、配布したいPerlスクリプトといくつかのXMLデータファイルを持っています。現在、bin/*とshare/*をターゲットインストールツリーにコピーするシェルスクリプトがあります。ちょっとぎこちないように見えるので、Perlの標準的なCPANパッケージのようなものを使いたいと思っています。lib/*。pmのないCPANスタイルのPerlパッケージ

私はCPANスタイルのパッケージに入っているものをバンドルするのがいいですか?私はそこに何も間違いはないと思うが、私が見てきたすべてのチュートリアルでは、lib/Blah.pmはどんなパッケージにも必要不可欠なファイルだと思っています - lib /ディレクトリもありません。

共有/ディレクトリにいくつかのデータと共にPerlスクリプトのコレクションをパッケージ化するための標準的なソリューションはありますか?

答えて

6

ディストリビューションはモジュールを気にしません。これは一般的なケースであるため、ほとんどのツールはデフォルトでモジュールを処理するように設定されていますが、提供するファイルをビルドファイルに伝えるロジックを提供する限り、実際には何かを配布できます。

ExtUtils :: Makemakerはこの種のものでは使いにくいですが、Module :: Build( "Module"という言葉にもかかわらず)ははるかに簡単です。しかし、カスタムModule :: Buildクラスについて少し知っておく必要がありますので、不要なデフォルトの動作を上書きすることができます。

スタンドアロンスクリプトについては、私のscriptdistディストリビューション、またはDr. Dobbs article I wrote about itをご覧ください。 シェア/部分は処理されませんが、追加するのはあまり難しくありません。

+0

ビルドシステムが本当に面倒な場合は、$ VERSIONやwhat-have-youを含むlib/App/MyApp.pmファイルを作成することができます。とにかくあなたがCPANに公開しているなら、それを簡単に検索することは良い考えです。 – jon

+0

これはおそらくその場所ではありませんが、 'make test'は' script dist'で失敗します。そのような問題を議論するためにどこかに設定されていますか? – ajwood

+0

Module :: Build 0.36には[share_dir](http://p3rl.org/Module::Build::API#share_dir)オプションがあり、余分なコードを書く必要はありません。 – daxim

関連する問題