Perl/モジュール開発 - Masanoriのメモ帳

Perl/モジュール開発


Perlにおけるモジュール開発(CPANモジュール)のメモです。

Perlカテゴリ
Perlに関するページについてはCategory/Perlも御覧ください。

テンプレート

Module::Starter::PBPのようなモジュールを使えば、モジュールの雛形を容易に作成できる。

   $ perl -MModule::Starter::PBP=setup
   $ module-starter --module=Foo::Bar::Hoge

ビルド (インストーラ)

がよく使われている。(私は、Module::Buildを用いている。)

 Module::Build

Module::Buildは、makeコマンドに依存しないことを目的の一つとしている。
そのため、従来のMakefile.PLの代わりに、Build.PLにモジュール情報を記述する。

但し、実際にモジュール配布する上では、Makefile.PLが無ければ、makeコマンドが使えない(困ることもある)ので、Module::Buildを組み込んだMakefile.PLも用意しておく。
そうすれば、Buildコマンド(Build.PL)と、makeコマンド(Makefile.PL)の両方を使えるようになる。

Makefile.PL:

use lib qw(lib);
use Module::Build::Compat;

Module::Build::Compat->run_build_pl(args => \@ARGV);
Module::Build::Compat->write_makefile(build_class => 'Module::Build');

ファイル

Module::Starter::PBPでテンプレートから作成し、Module::Buildを使った場合
結果的に次のようなファイル構成となる。

テストの実行

proveコマンドを使う。(-lオプションは、libディレクトリを@INCとして追加するオプション。)

   $ prove -l

尚、Module::Buildを使っている場合は、以下のようにすると、ビルドしてからテストできる。

   $ perl Build.PL
   $ ./Build test

PAUSEアカウント

CPANでモジュールを公開するために必要なアカウントである。
http://pause.perl.org/pause/query?ACTION=request_id から作成できる。
(参考: http://blog.livedoor.jp/sasata299/archives/51284970.html )

配布アーカイブの作成


   $ make disttest
   $ make dist

また、実際にアップロードする前に、Perl モジュールリリースチェックリストでチェックを行おう。

アップロード

参照: http://sasakure.hatenablog.com/entry/20121129/1354144631

CPANモジュール(namespace)をCPANから削除したいときは

CPANにアップロードするモジュールを間違えた場合や、namespaceを削除したい場合の方法である。

CPANモジュールがCPANに掲載された後、さらに数日たって正式に登録されると、
PAUSEの"Edit Module Metadata"にモジュール名が表示されるようになる。
その後であれば、モジュール削除や、search.cpan.orgなどでの非表示が選択できる。

但し、削除リクエストを行ってから、実際の削除は、一定のライフサイクルが経過した後となるほか、
Backpanからの削除は行えないようだ。

参考リンク





スポンサード リンク



メニュー


未整理

Linux

プログラミングx

Android

サービス

製品

執筆中


筆者のサイト


スポンサード リンク