Perl入門ゼミ

テキスト処理、Linuxサーバー管理、Web開発ならPerl
  1. Perl
  2. モジュール
  3. here

Module::Starter - 配布形式のモジュールを作成

モジュールを配布したい場合には、配布形式を自動で作成してくれるモジュールがあると便利です。たとえばCPANに作成したモジュールをアップロードしたい場合は、定められた配布形式にしなければなりません。その雛形を作成してくれるモジュールのひとつがModule::Starterです。

module-starterコマンドで雛形を作成する

Module::Starterをインストールするとmodule-starterコマンドも一緒にインストールされます。このコマンドを使用してモジュールを作成します。 実行するとSomo-Moduleというディレクトリが作成されているのを確認することができます。

module-starter --module=Some::Module --author="Yuki Kimoto" --email=kimoto.yuki@gmail.com

モジュール名の指定

--moduleでモジュール名を指定します。

ビルド方法の指定

--builderでビルド方法を指定します。Unix系OSでの標準的なビルド方式であるmakeを使用する「ExtUtils::MakeMaker」と純正Perlで書かれたBuildを使用する「Module::Build」のどちらかを指定することができます。デフォルトで「ExtUtils::MakeMaker」が使用されます。ここでは「Module::Build」を使用しています。

特に必要がなければ、古いバージョンのPerlでも対応しているExtUtils::MakeMakerを使うのが無難です。

あなたの名前

--authorであなたの名前を指定します。

あなたのメールアドレス

--emailであなたのメールアドレスを指定します。

ディレクトリ構成

雛形を作成した直後は以下のようなディレクトリ構成になっています。

-rw-r--r-- 1 root root  457 2009-06-14 12:40 Makefile.PL
-rw-r--r-- 1 root root  111 2009-06-14 12:40 Changes
drwxr-xr-x 3 root root 4096 2009-06-14 12:40 lib
-rw-r--r-- 1 root root   89 2009-06-14 12:40 MANIFEST
-rw-r--r-- 1 root root 1398 2009-06-14 12:40 README
drwxr-xr-x 2 root root 4096 2009-06-14 12:40 t

役割を簡単にひとつづつ解説します。

Makefile.PL

Makefile.PLはMakefileというスクリプトを作成するためのPerlで書かれたスクリプトです。Makefileというスクリプトは、モジュールを構築して、試験をして、インストールするためのスクリプトです。

なぜ最初からMakefileというスクリプトを用意していないかといえば、OSの違いなどの環境によってMakefileスクリプトの内容が異なってくるからです。

環境の差異を吸収して、モジュールの構築からインストールまでの処理を行うために、Makefile.PLを実行してMakefileスクリプトを作成します。

perl Makefile.PL

とするとMakefileというスクリプトが作成されます。

Changes

Changesはモジュールをバージョンアップをしたときの履歴を書くためのものです。モジュールをバージョンアップした場合に書き忘れることが多いので注意しましょう。

lib

libはモジュールが格納されるディレクトリです。この中にモジュールの本体であるスクリプトが格納されます。

MANIFEST

MANIFESTには、モジュールを配布するときに格納するファイルを記述します。MANIFESTファイルは直接編集することもできますが、自動で作成することもできます。

t

モジュールの自動試験を格納するディレクトリです。