本連載では第一線のPerlハッカーが回替わりで執筆していきます。記念すべき第50回のハッカーは、本連載の監修を務め、数多くのモジュールをCPANにアップロードしている松木雅幸(Songmu)さんで、テーマは「Minillaを使ったモダンなCPANモジュール開発」です。
Perlで何かを開発する際には、たとえ公開する予定がなくともCPANに公開するモジュールと同じディレクトリ構成で開発するのがお勧めです。本稿ではMinillaというCPANモジュール作成のためのツールを使って、迷いなく開発を進める方法について説明していきます。
本稿で作成するサンプルのCPANモジュールは、筆者のGitHubリポジトリにてソースコードやコミットログを公開しています。また、CPAN上にも実際にリリースされています。
Minillaとは?
MinillaはCPANモジュールのオーサリングツールです。2013年に開発が始まり、いまや日本のCPANモジュール作者の間ではほぼデファクトスタンダードとなっています。煩雑な設定を必要とせず、Minillaの作法に従えば簡単にCPANモジュールを作成できます。逆に、ユーザーが使い方を独自に拡張するプラグイン機能は意図的に備えていません。このように割り切った作りになっていることが奏して、軽量に動作します。
基本的には余計な設定をせずともすぐに使い始められますが、設定を工夫すれば、ほとんどのユースケースをカバーできます。筆者も数多くのCPANモジュールを開発してきましたが、Minillaで困ったことはありません。CPANモジュールのオーサリングにおいては、Minillaだけを覚えておけばよいでしょう。
Minillaのインストール
Minilla自体もCPANモジュールとして公開されているため、cpanm
コマンドでインストールできます。最小インストールでは足りないモジュールもあるため、今後つまずかないために--with-recommends
オプションを付けてインストールしましょう。
インストールが完了すると、minil
というコマンドが使えるようになります。このコマンドを使ってCPANモジュールを作成します。
本稿では、Perl 5.26.1、Minilla 3.0.16を用いて説明していきます。また、本稿におけるCPANモジュールとは、CPANにアップロードされているか否かに関係なく、「CPANモジュール形式のプロジェクト」を指すものとします。
CPANモジュールを作り始める前に
CPANモジュールを作成し、それをCPANにアップロードしたいのであれば、PAUSEアカウントが必要です。たとえば筆者のPAUSEアカウントはsongmuです。PAUSEは「The [Perl programming] Authors Upload Server」の略です。
PAUSEのサイトにアクセスし、サイドバーの「Request PAUSE account」のリンクから開くフォームでアカウント申請を行えます。
フォームには、アカウント取得の動機を記入する欄があります。そう、アカウント取得前には簡単な審査があり、アカウントは即時発行されません。とはいえ厳しいものではなく、ほぼ即日で発行されるようです。近年の多くの言語のライブラリエコシステムとは異なり、審査があることは特徴的ですが、モジュールの乱立や悪意が入り込むことを防ぐために好ましいことだと筆者個人は思っています。
ここで取得したPAUSEアカウントのIDとパスワードが、のちほどCPANモジュールをCPANにアップロードする際に必要です。
<続きの(2)はこちら。>
- 特集1
イミュータブルデータモデルで始める
実践データモデリング
業務の複雑さをシンプルに表現!
- 特集2
いまはじめるFlutter
iOS/Android両対応アプリを開発してみよう
- 特集3
作って学ぶWeb3
ブロックチェーン、スマートコントラクト、NFT