web-dev-qa-db-fra.com

Quelle version de Perl dois-je utiliser sous Windows?

Le site Web win32.Perl.org fournit des références à plusieurs distributions Perl pour MS Windows.

Depuis longtemps, j'utilise ActivePerl de ActiveState mais récemment je suis passé à Strawberry Perl .

À mon humble avis, le seul avantage d'Active Perl sur Strawberry Perl est le fait qu'il est livré avec Perl Tk, ce qui signifie qu'il est facile à installer Devel :: ptkdb le débogueur graphique. En dehors de cela, je pense que Strawberry Perl a tous les avantages.

96
szabgab

Strawberry Perl est de mieux en mieux. Un problème que j'ai eu à plusieurs reprises avec ActiveState est que mes modules échouent parfois à l'installation parce que j'ai besoin d'une mise à niveau vers un module principal, mais ils ne le permettront pas. Ainsi, tous ceux qui n'utilisent pas Windows peuvent utiliser mon code, mais ils ne peuvent pas le faire avec Perl d'ActiveState.

ActiveState a également un système de construction très douteux qui échoue souvent à rapporter exactement pourquoi un module n'a pas pu être construit. J'étais tellement fatigué d'envoyer des courriels et de demander ces informations que j'ai finalement abandonné. Je veux que mon code s'exécute sur Windows, mais si ActiveState ne me fournit pas ces informations et ne me donne aucune option pour mettre à niveau les modules de base, je ne peux tout simplement pas l'utiliser. Certains de mes modules n'ont AUCUN échec de build sur aucun système d'exploitation - à l'exception de ceux avec ActiveState Perl. Soutenez Strawberry Perl et ne vous inquiétez pas d'ActiveState.

Si ActiveState a corrigé son système de construction et sa politique de "pas de mise à niveau vers les modules principaux", cela vaut la peine d'être revu.

79
Ovid

Il n'y a pas de distribution Perl unique. Vanilla Perl (Perl déplaçable et redistribuable), et il est plus convivial pour les développeurs Strawberry Perl a un potentiel important.

Cependant, il y a une très bonne raison pour laquelle ActivePerl est si populaire. Les avantages se présentent principalement sous la forme d'une facilité de déploiement pour vos utilisateurs finaux (aucun compilateur nécessaire pour utiliser leur gestionnaire de packages, PPM). L'ActiveState PDK (Perl Development Kit) est également un très bon moyen de compresser un binaire Windows complet qui ne nécessite pas l'installation de Perl sur la machine de l'utilisateur.

Malheureusement, de nombreux modules CPAN très agréables (comme les liaisons Perl pour OpenSSL) ne sont pas disponibles via le référentiel d'ActiveState.

Comme la plupart des choses, vous devez faire votre sélection en fonction de la distribution qui répond le mieux à vos besoins.

30
Darren Meyer

J'utilise principalement ActivePerl, mais j'aime vraiment où Strawberry Perl se dirige. J'adore le fait que le cpan Shell "fonctionne tout simplement" et je n'ai pas à sauter à travers un tas de cerceaux pour installer des modules XS. (par exemple ExtUtils :: FakeConfig, bien que cela soit moins nécessaire dans les versions plus récentes d'ActivePerl.) Je suis également enthousiasmé par la possibilité de Perl sur une clé USB. La version de développement de Portable Perl est déjà assez utilisable.

Je suis d'accord que le principal avantage d'ActivePerl est Tk prêt à l'emploi, mais notez qu'à partir de 5.10, ActivePerl n'est plus livré avec Tk par défaut. Il est livré avec Tkx à la place.

17
Michael Carman

L'avenir est définitivement Strawberry Perl. Quel que soit votre choix (et ce problème n'est pas spécifique à Windows), si vous distribuez le résultat final à d'autres machines, vous devrez faire attention en ce qui concerne les instructions d'installation/d'installation que vous fournissez.

13
Penfold

Strawberry Perl ressemble plus à Perl sur * nix. Il est livré avec MinGW qui pourrait être utile en soi. Les modules Perl peuvent également être installés avec ppm ou cpan.

6
Rob Kam

Je préfère de loin Strawberry Perl. D'une part, il installe gcc dans le cadre de mingwin, de sorte que vous pouvez installer directement depuis CPAN.

J'ai utilisé Perl d'ActiveState pendant un certain temps, mais j'ai eu beaucoup de fragilité d'une machine à l'autre malgré leur configuration (apparemment) identique. Leur emballage de module PPM a également laissé un mauvais goût. Cela rend la gestion des packages extrêmement simple, mais vous comptez sur eux pour mettre à jour PPM après les mises à jour du CPAN) . Aussi, PPM n'est en aucun cas le contenu complet du CPAN; La dernière fois que j'avais utilisé ActivePerl, j'ai eu du mal à trouver tous les modules dont j'avais besoin, et ceux qui étaient là étaient souvent une ancienne version.

4
gWaldo

ActiveState Perl est considéré depuis longtemps comme le Perl Windows de facto. Bien qu'il comporte de nombreux défauts et que beaucoup d'entre nous utilisent autre chose, il reste très populaire. Si vous construisez du code Perl à exécuter sur une machine Windows (autre que la vôtre), j'envisagerais de l'écrire avec un œil vers une installation par défaut (ou par défaut car je pourrais l'obtenir) en tant qu'installation AS Perl en l'exécutant. Autre chose et vous introduisez des barrières à l'entrée pour les autres qui essaient d'utiliser votre application plus tard.

3
phreakre

J'utilise toujours Cygwin (les xterms avec bash sont tellement meilleurs que les fenêtres cmd) et le Perl qui l'accompagne. J'installe des modules Perl avec le CPAN Shell (la commande "cpan"); ça fonctionne bien.

3
reinierpost

J'ai eu des problèmes majeurs avec Strawberry et j'ai senti qu'il n'y avait pas de support. Les bonnes personnes de PerlMonks ne pouvaient pas m'aider et j'ai abandonné. Si cette page vous laisse avec un certain manque de confiance, voici votre réponse.

2
AmbroseChapel

Le code que j'écris atterrit dans les sociétés Fortune 500, donc un sentiment "d'entreprise" est utile. J'ai utilisé ActivePerl jusqu'à présent, et cela a bien fonctionné à la fois pour l'outillage interne et pour la distribution à ces gros clients.

2
aczarnowski

J'utilise Active State Perl 5.014, qui fonctionne bien.

Le problème est qu'il n'a pas la dernière version de Padre (l'EDI, environnement de débogage).

1
Helen Craigman