WindowsでPerlを使って、WWWのCGIと連携するための
ツールや方法をまとめてみました。
MS IIS(Internet Information Server)でのCGI
WebsiteでのPerl CGI Q&A (97.03.15 追加)
PerlIS for Win32 和訳
Perl for Win32のインストール時の留意点も追補。
CGI_Lite-1_62.pmについて CGI_Liteモジュールの解説を和訳。最新版は1.8で、一部メソッド等違いがあります。
Perl5.6ベースのビルド6xxがリリースされています。
インストールは、入手したインストール用ファイルActivePerl-5.6.x.6xx.msiをダブルクリックするとインストーラが起動するので、その指示にしたがって行います。
注)Windows NT/9xユーザは、インストールにWindows Installer 1.1が別途必要となっています。
【PPMに不具合】
現在配布されているバージョンのPPMに不具合があるため、インストール直後にPPM Hotfixを当てるようにという案内が出ています。PPM Hotfixは、下記のActivePerl ダウンロードで入手できます。
【NT/2000へのインストール上の注意点】
インストール用ファイルを起動したりインストールを行うディレクトリには、'SYSTEM'アカウント用に読み取り権を設定しておく必要があります。また、通常のユーザ権限でインストールすると、以下の制約が生じます。
NT/2Kにインストールする際のトラブルが報告されています。エラーメッセージは以下のようになるようです。
Installer Information −−−−−−−−−−−−−−−−−−−−−−−−− Internal Error 2744. PPM_CONFIG, C:\Perl\bin\, "C:\Perl\bin\wPerl.exe" "C:\Perl\bin\configPMM.pl" "C:\Perl\site\lib\ppm.xml" "C:\My Download Files\\" "C:\Perl\site\lib\ppm.xml~"Activestate社の回答によると、 (C:\temp\などの)テンポラリディレクトリにインストールのログファイルActivePerlInstall.logがあるので、それを手掛かりに問題を特定してほしいということです。
【Win95へのインストール上の注意点】
MSVCRT.DLLが必要です。
[MSVCRT.DLLの入手先] ftp://ftp.microsoft.com/softlib/mslfiles/msvcrt.exe
【特徴や入手先等の情報、リリースノート】
http://www.ActiveState.com/ActivePerl/
http://www.activeState.com/ActivePerl/docs/RELEASE.html
【ActivePerl ダウンロード】
http://www.ActiveState.com/ActivePerl/download.htm
【Windows Installer 1.1の入手先】
[NT用]
http://www.ActiveState.com/download/contrib/Microsoft/NT/InstMsi.exe
[95/98用]
http://www.ActiveState.com/download/contrib/Microsoft/9x/InstMsi.exe
【バグ情報の登録、参照】
http://bugs.activestate.com/ActivePerl/
●ActivePerl ビルド5xx
なお、旧バージョンのPerl5.005ベースのビルド5xxも同じURIからダウンロードできます。NT/95では機能しない関数があります
http://www.ActiveState.com/ActivePerl/download.htm
ビルド5xxでは、Win95の場合、
DCOM95 for Windows 95をインストールしておく必要があります。
【DCOM95 for Windows 95入手先】
http://www.microsoft.com/japan/com/dcom/dcom95/dcom1_3.htm
http://www.microsoft.com/com/dcom/dcom95/dcom1_3.asp
JPerlについては、WindowsNT/95/98で日本語Perl(JPerl)のページをご覧ください。
◆モジュールの導入
機能拡張用モジュールも同サイトにビルド済みのものが用意されています。但し、ビルド5xxとビルド6xx用では互換性がないものがあります。
モジュールの導入は、ActivePerlを
インストールしたディレクトリの下の\binディレクトリにある
ppm.pl/ppm.batを使うと簡単に実行できます。
詳しい使い方が、
http://member.nifty.ne.jp/hippo2000/perltips/ppm.htm
に掲載されています。
GDモジュールをインストールする場合、以下のようにします。
例)
C:\perl\bin\>ppm
PPM interactive shell (x.x.x) - type 'help' for available commands.
PPM>install GD
Install package 'GD?' (y/N): y
用意されているパッケージおよびバージョン等は、
http://www.ActiveState.com/packages/default.prk?list=1
あるいは、
PPM>search
でわかります。但し、後者はコマンドプロンプト画面には収まりません。
◆proxy越えはautoexec.bat(Win95/98)に以下の環境変数をセットしておくそうです。
参照: http://www.activestate.com/ActivePerl/ppmproxy.htm
SET HTTP_proxy=http://proxy_of_yoursite:port/
例)
SET HTTP_proxy=http://proxy.yoursite.co.jp:8000/
プロキシサーバにユーザー/パスワードが必要であれば以下を追加(かな)。
SET HTTP_proxy_user=your_user_name
SET HTTP_proxy_pass=your_password
◆オフラインモードでのPPMを使ったモジュールインストール (Perlメーリングリスト&杉本和久さんに感謝 )
1.ActivePerl build 522は、http://www.activestate.com/PPMPackages/5.005/zips/、 ActivePerl build 613は、 http://www.activestate.com/PPMPackages/5.6/ から、必要なモジュールのZIPファイルをダウンロードしておきます。
2.ZIPファイルを解凍(展開)します。
例)C:\tempに解凍したGD.zipの内容
GD.ppd
README
X86\GD.tar.gz
3.コマンドプロンプト(MS-DOSプロンプト等)を開き、解凍したディレクトリ (上記の例だとreadmeやGD.ppdファイルがあるC:\tempディレクトリ)に移動して
独自のソースコード部分を多く持つActivePerlに対抗した標準的なポートのバイナリディストリビューションです。 よく利用されるlibwin, libwww, libnet, tk, gd等のモジュールが標準添付されています。Windows上でもスレッドが使用できるバージョンも置いてあります。
ActivePerlとの比較表は こちら
【ダウンロード】
http://www.petes-place.com/cmdownload.html
●Perl5 for Cygwin
Cygwin用Perl 5.6のバイナリーディストリビューションcandidate(CD1.0以上)がリリースされています。
入手先:
Cygwin b20.1 + Perl5.005_03ベースのバイナリーディストリビューションは下記にあります。
http://www.student.uni-koeln.de/cygwin/Distribution/Binary/?item=perl
●Perl for Win32 ビルド3xx
ActiveState社による5.003_07ベースのバイナリディストリビューション(通称AS版)ですが、Build 316で打ち止めになり、現在では配布されていません。
和泉氏のJPerlは、このリリースが元になっていました。
●Standard版Perlディストリビューション
Gurusamy Sarathy氏によって、Perl5.004_02をベースにビルドされた ディストリビューション(通称GS版)です。
CPAN perl5.00402-bindist04-bc.zip
数多くのモジュールが添付されているのが、特徴の一つです。5.005のリリースを機に、 ActivePerlと統合されました。
●jcode.plとJcode.pm
ネイティブなPerlはいわゆる日本語対応されたものではありません。
JIS、SJIS、EUCと様々な文字コードを持つ日本語処理に対応するには、下記
JPerl5 for Win32あるいは
jcode.pl(00.03.27現在バージョン2.11)やJcode.pm(00.03.27現在バージョン0.60等が必要です。
Jcode.pmはPerl5向けにjcode.plをモジュール化したもので、作者であるDAN Kogaiさん<kogai@dan.co.jp>の
ホームページやCPANで公開されています。
jcode.plの使用方法はスクリプト内に記述されていますが、すべて英語となっています。英語に弱い方や半角カナ<->全角カナ等文字コードの変換等に悩んでいる方には、小塚 敦氏による 「jcode.pl の私的な解説書」が参考になるでしょう。 jcode.plの使用例は Perlによる簡単なCGIプログラムのサンプル集他にも掲示しています。
jcoe.pl入手先:
ftp://ftp.iij.ad.jp/pub/IIJ/dist/utashiro/perl/jcode.pl-2.11
jcoe.plの更新履歴はjcode.pl-historyをどうぞ。通常jcode.plにrenameして使用します。
●JPerl5 for Win32 入手先
WindowsNT/95/98で日本語Perl(JPerl)のページへどうぞ。
JPerl4 for Win32/Win16やUNIX版JPerlの情報
WindowsNT/95で日本語Perl(JPerl)のページへどうぞ。
/CPAN/ports/msdos/perl4/bperl4x.zip
Perl4 for NT
http://www.intergraph.com/
ftpサイト:
ftp://ftp.intergraph.com/pub/win32/perl
/CPAN/ports/msdos/perl4
Alpha版はこちらから入手可能。
ftp://ftp.garply.com/pub/pc/nt/alpha/ntperla.zip
16ビット版はこちら。
ftp://oak.oakland.edu/SimTel/msdos/perl/
その他相変わらずまとまりがありませんが、perl関連サイトです。 なお、特にコメントしてない限り英文です。
Perl-Win32-Announce
モデレートされたメーリングリストでアナウンス専用
Perl-Win32-Porters
perl to win32を各プラットホームへポーティング(移植)することに関する話題が中心
ご意見、ご要望、ご質問は、
電子メールまたは
質問にお願い致します。