web-dev-qa-db-ja.com

WindowsではどのバージョンのPerlを使用する必要がありますか?

win32.Perl.org Webサイトは、MS Windows用のいくつかのPerlディストリビューションへの参照を提供しています。

長い間、私は ActiveState からActivePerlを使用していましたが、最近では Strawberry Perl に切り替えました。

私見Active PerlがStrawberry Perlに対してまだ持っている唯一の利点は、Perl Tkが付属しているという事実です。つまり、インストールが簡単です Devel :: ptkdb グラフィカルデバッガーです。それ以外に、Strawberry Perlにはすべての利点があると思います。

96
szabgab

Strawberry Perl はどんどん良くなっています。 ActiveStateで繰り返し発生した問題の1つは、コアモジュールへのアップグレードが必要なためにモジュールのインストールが失敗することがありますが、それを許可しないことです。したがって、Windowsを使用しない人は誰でも私のコードを使用できますが、ActiveStateのPerlではできません。

ActiveStateには非常に危険なビルドシステムもあり、多くの場合、モジュールがビルドに失敗した理由を正確に報告できません。この情報を電子メールで送信したり、質問したりするのにうんざりしたので、やめました。コードをWindowsで実行したいのですが、ActiveStateがその情報を提供せず、コアモジュールをアップグレードするオプションを提供しない場合、使用できません。一部のモジュールには、ActiveState Perlを使用するものを除き、どのオペレーティングシステムでもビルドエラーがありません。 Strawberry Perlをサポートし、ActiveStateについて心配する必要はありません。

ActiveStateがビルドシステムと「コアモジュールへのアップグレードなし」ポリシーを修正した場合、再検討する価値があります。

79
Ovid

シングルベストのPerlディストリビューションはありません。 Vanilla Perl (再配置可能、再配布可能なPerl)、およびより開発者に優しい Strawberry Perl には大きな可能性があります。

ただし、 ActivePerl が非常に人気があるのには、非常に良い理由があります。利点は主に、エンドユーザーの展開が容易なことです(パッケージマネージャーであるPPMを使用するためにコンパイラーは不要です)。 ActiveState PDK(Perl Development Kit)は、Perlをユーザーのマシンにインストールする必要のない完全なWindowsバイナリをパックする非常に良い方法でもあります。

残念ながら、多くの非常に素晴らしいCPANモジュール(OpenSSLのPerlバインディングなど)はActiveStateのリポジトリを介して利用できません。

ほとんどの場合と同様に、ニーズに最適なディストリビューションに基づいて選択する必要があります。

30
Darren Meyer

私は主にActivePerlを使用していますが、Strawberry Perlがどこに向かっているのが本当に好きです。 cpanシェルが「正常に動作する」ことが大好きで、XSモジュールをインストールするためにたくさんのフープを飛び越える必要はありません。 (たとえば、ExtUtils :: FakeConfig。ただし、最近のActivePerlビルドではそれほど必要ではありません。)また、サムドライブでのPerlの可能性についても興奮しています。 Portable Perl のdevリリースはすでにかなり使用可能です。

ActivePerlの主な利点はTkをそのまま使用できることに同意しますが、5.10の時点でActivePerlはデフォルトでTkに同梱されなくなったことに注意してください。代わりにTkxが付属しています。

17
Michael Carman

未来は間違いなくStrawberry Perlです。どちらを選んだとしても(そしてこの問題はWindowsに固有のものではありません)、最終結果を他のマシンに配布する場合、提供するインストーラー/インストール手順に関して注意する必要があります。

13
Penfold

Strawberry Perl は、* nixのPerlに似ています。 MinGW が付属しています。 Perlモジュールは、ppmまたはcpanを使用してインストールすることもできます。

6
Rob Kam

私はStrawberry Perlをはるかに好む。 1つは、CWINから直接インストールできるように、mingwinの一部としてgccをインストールします。

しばらくActiveStateのPerlを使用していましたが、(一見)同じように構成されているにも関わらず、マシン間で大きな違いがありました。それらのPPMモジュールのパッケージングも悪い味を残しました。パッケージを管理するのは非常に簡単になりますが、CPANの更新後はPPMまた、PPMはCPANの完全なコンテンツではありません; ActivePerlを最後に使用したとき、必要なすべてのモジュールを見つけるのに苦労しました。多くの場合、古いバージョンがありました。

4
gWaldo

ActiveState Perlは、かなり長い間、事実上のWindows Perlと見なされてきました。それには多くの欠陥があり、私たちの多くは何か他のものを使用していますが、非常に人気があります。 Windowsマシン(自分のマシン以外)で実行されるPerlコードをビルドしている場合、Perlインストールがそれを実行するように、デフォルト(またはデフォルトで取得できる限り)に目を向けて作成することを検討します。それ以外の場合、あなたはアプリを後で使用しようとする他のユーザーの参入障壁を導入しています。

3
phreakre

私は常にCygwin(bashを使用するxtermsはcmdウィンドウよりもはるかに優れています)とそれに付属するPerlを使用します。 CPANシェル(「cpan」コマンド)でPerlモジュールをインストールします。正常に動作します。

3
reinierpost

Strawberryに大きな問題があり、サポートがないと感じました。 PerlMonksの良き人々は私を助けられず、私はあきらめました。 このページ に自信がない場合は、答えがあります。

2
AmbroseChapel

私が書いたコードはフォーチュン500社に上陸しているため、「企業」感覚が役立ちます。これまでActivePerlを使用してきましたが、内部ツールと大規模な顧客への配布の両方で問題なく機能しました。

2
aczarnowski

Active State Perl 5.014を使用していますが、正常に動作します。

問題は、最新バージョンのPadre(IDE、デバッグ環境)がないことです。

1
Helen Craigman