スポンサーサイト

 --------
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
カテゴリ :スポンサー広告 トラックバック(-) コメント(-)
タグ :

Perl勉強:Windowsでモジュール作成のメモ

 2008-05-25
Part1 正しいPerl/CGIの書き方:ITpro

日経ソフトウェアの記事を読みながら、実際に動かして確認しているのですが、この記事はわかりにくいです。もっと詳細にして欲しいところです。どんな基礎知識を持っている人を前提としているのか、と突っ込みたくなります。
どちらかというと、日経ソフトウェアは初心者~中級だと思うので、なんか不思議です。

メモ

戸惑ったところを書いておきます。
WindowsでActivePerl5.8.8build822で行っています。

1.Module::Starterのインストール
Linuxだと「cpan i- Module::Starter::PBP」でインストールできますが、Windowsだとppmで行います。
そしてコマンドでなく、マウスでインストールできます。
ActivePerl→Perl Package ManegerでPPMが起動します。
そして
検索欄に「Module-Starter-PBP」と入力してくださいWindowsだと「::」が「-」になるようです。
そうすると検索結果が自動出来に表示されるので、箱の「+」をクリックして緑色の「→」をクリックしてインストールします。

2.Module::Starterのセットアップ

perl -MModule::Starter::PBP=setup

これをコマンドプロンプトで打ち込むと、
3つの入力が促されます。最初は保存する場所、次は名前、メールアドレスです。保存はc:\○○で自分の名前にするのが良いかと思います。(もちろんフォルダはあらかじめ作成)

Please enter the full path of your home directory:
Please enter your full name:
Please enter an email address:


3.Perlモジュールのひな型を作成
記事では
module-starter  --module=My::Yakudoshi

となっていますが、このままでは動きません。コマンドを打つと

'module-starter' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

となります。
コマンドが登録されていないので、出るみたいです。
そこで「module-starter」がどこに登録されているか確認すると、
C:\usr\site\bin

にありました。ちなみにこれはWindowsのActivePerlをインストールしたフォルダ\site\binになります。
なので普通の人は、
C:\Perl\site\bin

にあるはずです。
どうやらコマンドプロンプトに登録されていないので、登録する必要があります。
登録は、マイコンピュータのプロパティを開き、「詳細または詳細設定」のタブにある「環境変数」をクリックします。そしてシステム環境変数にある「path」を編集をクリックし、変数値の先頭に先ほどの場所を追加します。ただし最後に「;」(セミコロン)を追加しておきます。
C:\usr\site\bin;

または
C:\Perl\site\bin;

終わったら、OKボタンを押して完了です。
これで「module-starter」がコマンドとして認識されます。でも、これで最初のコマンドを打ち込むと
Must specify an author

と表示されます。作者を教えろと言ってきます。先ほど入力したので不思議だったんですが、
「module-starter」の説明をオプション「--help」で見ると
Usage:
module-starter [options]

Options:

--module=module Module name (required, repeatable)
--distro=name Distribution name (optional)
--dir=dirname Directory name to create new module in (optional)

--builder=module Build with 'ExtUtils::MakeMaker' or 'Module::Build'
--eumm Same as --build=ExtUtils::MakeMaker
--mb Same as --build=Module::Build

--author=name Author's name (required)
--email=email Author's email (required)
--license=type License under which the module will be distributed
(default is the same license as perl)

--verbose Print progress messages while working
--force Delete pre-existing files if needed

--help Show this message

Example:

module-starter --module=Foo::Bar,Foo::Bat \
--author="Andy Lester" --email=andy@petdance.com

と表示され、どうやらここでも、名前、メールアドレスを入力する必要があるようです。
そこで、説明通り書いて、実行しました。

module-starter --module=My::Yakudoshi --author="名前" --email=メアド
Created starter directories and files

これで完了かと思ったら、作成したフォルダ「My-Yakudoshi」にBuild.PLがなく、代わりにmakefile.PLがありました。そこで先ほどの「module-starter」の説明を見ると、「--mb」がオプションとして必要らしいです。そして最終的に
module-starter --module=My::Yakudoshi --author="名前" --email=メアド --mb

となりました。

4.ビルのテスト
これはActivePerlなので記事に書いてあるとおり、ppmで「Coverage」「Critic」「Clone」を追加しました。その後は普通に動いたかもしれません。
はっきりしないのは、何を持ってエラーor正解と見るのか説明が全くないので、分からないからです。
たぶんあってるのかな~という感じです。

今のところここ止まりです。
続きはまた。


参考サイト

2007-04-16 - Tomute’s Notes
スポンサーサイト
タグ :
≪ トップページへこのページの先頭へ  ≫
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。