低レベルなヒトの覚え書き

●Another HTML-lintとPerl for Win32の話。ていうか、DOSマシンでも使えました


4. Windows用のPerl: さまざまな選択肢

CPANの情報に基づいて、実際に入手可能なWin32用Perl(通常のWindows用Perl)の一覧をまとめてみました。 パッケージ内容の概略とか、配布元のURLに関しては、CPANのportsページを参照してください。

……と書いてはみたものの、実際のところは、最寄りのCPANを探す手間を惜しんで、いきなりファイル名で検索しちゃう人もいるんだろうなあ。 と思ったので、そういうせっかちな人向けにURL集を追加しました。 必要に応じてご利用ください。

註1: 以下の情報が最新のものとは限りません。
註2: 原稿執筆時点におけるPerlの最新バージョンは、一般向けが5.10.1(2009年8月公開)、開発途上版が5.11.4(2010年1月公開)となっています。
註3: 本来、「Win32」といえば、32bit版WindowsのAPIとかなんとかそういうものを指すらしいのですが、筆者は単純にWin95以降の32bit版Windowsの別名として理解しています。 また、「Perl for Win32」という表現は、現在、一般に(32bit版の)Windows用Perl全般を指すものとして使われていますが、かつては特定のソフトウェア(Active Perlの前身)の名称だったこともあるみたいです。

[URL]

(1) ActivePerl

[表9-1]
 --------------------------------------------------------------------------------
   配布ファイル名                               バージョン  公開時期  サイズ(MB)
 --------------------------------------------------------------------------------
  ActivePerl-5.10.1.1007-MSWin32-x64-291969.msi  5.10.1      2010/01    18.9
  ActivePerl-5.10.1.1007-MSWin32-x64-291969.zip    〃          〃       19.2
  ActivePerl-5.10.1.1007-MSWin32-x86-291969.msi    〃          〃       18.1
  ActivePerl-5.10.1.1007-MSWin32-x86-291969.zip    〃          〃       18.4
  ActivePerl-5.8.9.827-MSWin32-x64-291969.msi    5.8.9         〃       20.7
  ActivePerl-5.8.9.827-MSWin32-x64-291969.zip      〃          〃       21.1
  ActivePerl-5.8.9.827-MSWin32-x86-291969.msi      〃          〃       19.5
  ActivePerl-5.8.9.827-MSWin32-x86-291969.zip      〃          〃       19.9
 --------------------------------------------------------------------------------

上の4つが5.10系、下の4つが5.8系のバイナリです。
ファイルの名前に「x86」とあるものが一般的な32ビット版で、「x64」は64ビット版。 また、拡張子が「msi」のものはWindowsのインストーラを利用するタイプとなっています(拡張子が「zip」のほうは通常の書庫ファイル)。
サポート対象のOSはWin2kのSP4以降だそうです(いつのまにか9x系は除外されていました)。
なお、以前は5.6系や5.005系を含む旧版や、各種OS向けのバイナリも無償で公開されていましたが、現在はWindowsとLinuxとMacOSX向けの最新版のみフリーの扱いで、それ以外はすべて有償での提供に変更された模様です。

[URL]

(2) Strawberry Perl

[表9-2]
 --------------------------------------------------------------------------------
   配布ファイル名                               バージョン  公開時期  サイズ(MB)
 --------------------------------------------------------------------------------
  strawberry-perl-5.10.1.1.msi                   5.10.1      2010/01    29.4
  strawberry-perl-5.10.1.1.zip                     〃          〃       40.5
  strawberry-perl-5.10.1.1-ddrive.msi              〃          〃       29.7
  strawberry-perl-5.10.1.1-portable.zip            〃          〃       40.5
  strawberry-perl-5.8.9.4.msi                    5.8.9         〃       28.7
  strawberry-perl-5.8.9.4.zip                      〃          〃       39.6
  strawberry-perl-5.8.9.4-ddrive.msi               〃          〃       28.9
 --------------------------------------------------------------------------------

「The Vanilla Perl Project」が配布しているパッケージです。
配布元によると、「完全なオープンソース」で「exactly the same as Perl everywhere else」であり(註)、あのLarry WallもWindowsではこれを使っているそうです。
それぞれのバージョンごとに数種類用意されているパッケージのうち、ファイル名に「portable」を含むものは、リムーバブルディスクなどにもインストール可能なポータブル版となっています。 一方、ファイル名に「ddrive」を含むものはインストール先がDドライブに固定されており、そのどちらも含まないものではインストール先がCドライブに固定されています。
なお、OSはXP以降が必要だそうです(リリース5.10.0.5と5.8.9.1までは2kもサポート)。

註: この「exactly〜」云々の部分は、正直、どういう意味なのかよくわかりませんが、だいたい「ちゃんと仕様どおりのPerlとして動く」とかそんなところではないかと思われます。

[URL]

(3) Vanilla Perl

[表9-3]
 --------------------------------------------------------------------------------
   配布ファイル名                               バージョン  公開時期  サイズ(MB)
 --------------------------------------------------------------------------------
  vanilla-perl-5.10.0-build-15.exe               5.10.0     (未確認)    14.1
  vanilla-perl-5.8.8-build-7.exe                 5.8.8      (未確認)    23.4
 --------------------------------------------------------------------------------

前記のStrawberry Perlと同様、「The Vanilla Perl Project」が配布しているパッケージです。
配布元の説明によれば、Strawberryが実用性を追求したものであるのに対して、Vanillaは実験的なレベルのものらしいです。
サポートするOSの条件など、詳しいことはよくわかりません。

[追記]
ここに紹介したバイナリは、現在すでに入手困難な状態にあるようです(配布元のサイト自体が消えてなくなった)。
詳しい事情はわかりませんが、おそらくは「The Vanilla Perl Project」によるバイナリの配布がStrawberry Perlに一本化されたのではないかと思われます。

[URL]

(4) Apache/Perl

[表9-2]
 --------------------------------------------------------------------------------
   配布ファイル名                               バージョン  公開時期  サイズ(MB)
 --------------------------------------------------------------------------------
  Perl-5.8-win32-bin.exe                         5.8.7       2005/06    28.8
  perl-win32-bin.exe                             5.6.1       2003/05    27.3
 --------------------------------------------------------------------------------

HTTPサーバーのApacheを開発している組織が配布元になっているパッケージで、内容的にはApacheなどとの詰め合わせになっています。
CGIの環境構築を目的としている人にとっては、それなりにお得なパッケージかもしれません。

[追記]
これらのパッケージは、配布元の製品ラインアップからは、すでに抹消されてしまいました(上記のバージョンだけでなく、シリーズ全体が「廃盤」状態)。
既存の製品に関しては、「historical archive」からダウンロードできるようになっています。

[URL]

(5) DeveloperSide.Net

[表9-3]
 --------------------------------------------------------------------------------
   配布ファイル名                               バージョン  公開時期  サイズ(MB)
 --------------------------------------------------------------------------------
  perl-5.8.8.zip                                 5.8.8      (未確認)    11.5
 --------------------------------------------------------------------------------

対象OSはWin2k以降らしいです。
このほかに「Web.Developer Server Suite」と称する、Apacheなどとの詰め合わせパックもあります。

[URL]

(6) PXPerl

最初に断っておきますが、英語と専門知識のどちらも不自由な筆者には、この製品のことはよくわかりません。 とりあえず、かつて「PXPerl」と称するバイナリが配布されていたことは事実なのですが、長いブランクを経て再オープンした現在のサイトでは、そうした活動は行なわれていないように思われます。
一応、ここでは参考までに、かつて配布されていたパッケージについて紹介しておきます(ちなみに、OSはWin2k以降が必要とされていました)。

[表9-5]
 --------------------------------------------------------------------------------
   配布ファイル名                               バージョン  公開時期  サイズ(MB)
 --------------------------------------------------------------------------------
  PXPerl-5.8.7-6.exe                             5.8.7      (未確認)    28.6
  PXPerl-5.8.7-6.zip                             5.8.7      (未確認)    48.0
 --------------------------------------------------------------------------------
[URL]

(7) Prebuilt Perls

こちらのバイナリも、現在は入手困難な状態にあるようです。
以下の情報は、かつて配布されていたパッケージに関するものです。

[表9-6]
 --------------------------------------------------------------------------------
   配布ファイル名                               バージョン  公開時期  サイズ(MB)
 --------------------------------------------------------------------------------
  nsPerl5.005_03-12-MSWin32-x86.zip              5.005_03   (未確認)     3.2
  nsPerl5.004_05-12-MSWin32-x86.zip              5.004_05   (未確認)     2.6
  nsPerl5.004_04-12-MSWin32.zip                  5.004_04   (未確認)     2.2
 --------------------------------------------------------------------------------
[URL]

(8) その他のWin32用Perl

[表9-7]
 --------------------------------------------------------------------------------
   配布ファイル名                               バージョン  公開時期  サイズ(MB)
 --------------------------------------------------------------------------------
  indigoperl-9.02.exe                            5.10.0      2009/02    21.5
  NumenInestPerl-5.8.7-2.msi                     5.8.7       2005/06    15.2
  SiePerl-5.8.8-bin-1.0-Win32.INSTALL.exe        5.8.8       2006/09    34.5
  perl5.00402-bindist04-bc.zip                   5.004_02   (未確認)     5.9
 --------------------------------------------------------------------------------

上から順に、IndigoPerl、niPerl、SiePerl、「Perl (5.004) for Win32 for x86」に相当します。
このうち、niPerlはWin2k以降が必要だそうです。

[URL]

註1: CPANのリストには、上記のほかに「OptiPerl」や「CamelPack」という名前も載っていますが、これらの製品にPerlのバイナリは含まれていません。 前者は統合開発環境、後者は単なるインストーラのようです(ただし、前記のwin32.perl.orgの 各ディストリビューションの比較一覧 を見ると、CamelPackがPerlのバイナリを含んでいるような記述もあるので、実際のところはよくわかりません)。
ちなみに、CPANのportsページには、上記とは別にWin32用のPerlのための統合開発環境のリストも掲載されているので、関心のある方は参照してください。
註2: 上の註1で触れた「CamelPack」は、一時、リストから削除されていたことがあります。 消えていた理由も復活した理由もわかりません(もしかしたらミラーサイト側の都合かも)。 今後もまた同じようなことがあるかもしれません。

(9) DOSエクステンダ版

[表9-8]
 --------------------------------------------------------------------------------
   配布ファイル名                               バージョン  公開時期  サイズ(MB)
 --------------------------------------------------------------------------------
  perl588b.zip                                   5.8.8       2007/05    13.1
  perl561b.zip                                   5.6.1       2003/03     6.0
  perl552b.zip                                   5.005_02    1998/09     2.5
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  perl588b.zip                                   5.8.8       2007/05    13.1
  perl561b.zip                                   5.6.1       2003/12     6.0
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  perl588b.zip                                   5.8.8       2007/05    13.1
  perl561b.zip                                   5.6.1       2003/03     6.0
  perl552b.zip                                   5.005_02    1998/09     2.5
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  perl5.00503-bin-1-dos-djgpp.zip                5.005_03    1999/05     2.6
  perl5.00402-bindist01-dos-djgpp.zip            5.004_02    1997/10     1.8
  perl542b.zip                                   5.004_02    1997/10     1.8
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  dosperl.zip                                    5.003_93    (未確認)    2.3
 --------------------------------------------------------------------------------

CPANのportsページでは、DOS用として紹介されているバイナリです。
実際には純粋な16ビットのDOS用というより、DOSエクステンダやWin9x系の32ビット環境を前提としたもののように思われます(最低でも386以上のCPUが必要)。
いちばん下のひとつを除き、すべてDJGPP版のバイナリとなっています。 いちばん下は、OS/2用Perlの改造品だそうです(完全に無保証かつノーサポートとのこと)。

CPANでの紹介文に対応させていうと、最初の3つが「DJGPPの2.03(安定版)」でコンパイルされた「perl 5.8.8」と、それと同じ場所でダウンロード可能なパッケージ。 次の2つが「DJGPPの2.04(ベータ版)」でコンパイルされた「perl 5.8.8」と、それと同じ場所でダウンロード可能なパッケージ。 6番目から8番目までは「DJGPP Perl v5.6」と、それと同じ場所でダウンロード可能なパッケージ。 9番目から11番目までは「DJGPP Perl 5.00502 for MS-DOS」(バージョン表記は原文ママ)のリンク先でダウンロード可能なパッケージ。 そして最後の1つが「4th alternative」に相当します。

これらのうち、10番目と11番目のものは、実は名前が違うだけで中身は変わりません。 また、いくつかの状況証拠からみて、おそらくは1番目と6番目、2番目と7番目、3番目と8番目のファイルも、それぞれに同じものであろうと思われます。

なお、少なくとも7番目と9番目と10番目のバイナリに関しては、Win9x環境において、長いファイル名を正しく処理できることを確認しています(たぶん、そのほかのバイナリも大丈夫)。

註1: ここで紹介したDJGPP版のバイナリについては、既存のスクリプトを動かすときに、多少の工夫が必要になる場合があります。 詳細については、こちら (v-hlin7.htm) や、こちら (v-clmn4.htm) を参照してください。
註2: 上記のうち、7番目(および6番目と9番目)のファイルは、一時、CPANのリストから削除されていたことがあります。 消えていた理由も復活した理由もわかりませんし(もしかしたらミラーサイト側の都合かも)、今後もまた同じようなことがあるかもしれません。
註3: CPANのリストには、もうひとつ「3rd alternative」云々という項目がありますが、これは実際に動作するバイナリへのリンクではありません(どうやら「4th alternative」バイナリのもとになった文書のようです)。

[URL]

(10) 参考

[表9-10]
 --------------------------------------------------------------------------------
   配布ファイル名                               バージョン  公開時期  サイズ(MB)
 --------------------------------------------------------------------------------
  Pw32i316.exe                                   5.003_07   (未確認)     1.5
  JPERL14.LZH                                    4.036+1.4  (未確認)     0.4
 --------------------------------------------------------------------------------

この2つは、CPANの情報とは関係ありません。
上のファイルは、「Perl for Win32」という製品の「Build 316」です。 系統的には、ActivePerlの前身にあたります。 公式サイトでの配布はすでに終了していますが、Vectorでならまだ入手可能です。 ちなみに、これをベースにした日本語対応版(JPerl)もあります。
下のファイルは、純粋なDOS用のJPerlです。 こちらもVectorで入手できます。

[URL]

→トップ , →前(hlin3) , →次(hlin5)


R.25: 2010/02/09
Copyright (C) 2005-2010 A.Satoshi