2008-09-16 5 views
19

Les gens demandent aussi souvent "Comment compiler Perl?" alors que ce qu'ils veulent vraiment, c'est créer un exécutable qui peut fonctionner sur des machines même si Perl n'est pas installé.Comment puis-je conditionner mon script Perl pour qu'il s'exécute sur une machine sans Perl?

Il y a plusieurs solutions, je connais:

  1. perl2exe de IndigoStar Il est commercial. Je n'ai jamais essayé. Son site Web indique qu'il peut compiler Win32, Linux et Solaris.
  2. Perl Dev Kit de ActiveState. C'est commercial. Je l'ai utilisé il y a plusieurs années sur Windows et ça a bien marché pour mes besoins. Selon son site Web, il fonctionne sous Windows, Mac OS X, Linux, Solaris, AIX et HP-UX.
  3. PAR ou plutôt PAR::Packer qui est libre et open source. Basé sur les rapports de test, il fonctionne sur Windows, Mac OS X, Linux, NetBSD et Solaris mais théoriquement il devrait aussi fonctionner sur d'autres systèmes UNIX. Récemment, j'ai commencé à utiliser PAR pour le packaging sous Linux et je l'utiliserai aussi sur Windows.

Autres solutions recommandées?

Répondre

12

En plus des trois outils énumérés dans la question, il y en a un autre appelé Cava Packager écrit par Mark Dootson, qui a également contribué au PAR dans le passé. Il fonctionne uniquement sous Windows, possède une interface utilisateur Wx sympa et fonctionne différemment des trois concurrents habituels en ce sens qu'il assemble toutes les dépendances Perl dans un répertoire source/lib au lieu de créer une seule archive contenant tout. Il existe une version gratuite, mais ce n'est pas Open Source. Je n'ai pas utilisé ceci sauf pour les tests. Comme pour PAR, c'est vraiment une boîte à outils. Il est livré avec un outil de packaging qui effectue la numérisation des dépendances et l'assemblage des exécutables autonomes, mais il peut également être utilisé pour générer et utiliser des fichiers .par, par analogie avec les fichiers JAR de Java. Il est également livré avec client et server pour charger automatiquement les paquets manquants sur le réseau, etc. Le slides of my PAR talk à YAPC::EU 2008 va plus de détails à ce sujet. Il y a aussi une liste de diffusion active: par perl dot org.

+2

Selon la réponse de cavapack et le site web de Cava, il fonctionne aussi sous Linux et OS X aussi. – Andy

+0

Pourriez-vous s'il vous plaît dites-moi comment utiliser cava packager – Balakumar

-3

Vous pouvez utiliser l'outil perlcc fourni avec la plupart des distributions de Perl. J'ai également trouvé à la fois perl2exe et le kit Perl Dev d'Active State utile pour expédier des applications Perl.

+1

perlcc ne fonctionne pas vraiment, et ça fait longtemps. PAR est le chemin à parcourir. – asksol

+2

perlcc ne fonctionne généralement pas (voir perldoc perlcc) et a été retiré de perl 5.10 – szabgab

1

Je suis un débutant Perl et je viens de télécharger Cava Packager et c'est le seul que j'ai trouvé. J'ai essayé ActiveState 5.10.1005 et Strawberry Perl avec PAR-Packager sur Windows XP. pp se bloque juste à mi-flux et aucun exécutable créé.

Cava fournit la seule solution pour créer des exe sur Windows jusqu'à présent. Thks.

+0

Strawberry avec pp a travaillé pour moi (4 ans après votre réponse). –

5

Il ya un certain temps que cette question a été posée, mais Cava Packager peut actuellement produire des paquets exécutables pour Windows, Linux et Mac OS X. Ce n'est plus seulement Windows.

Note: Comme mon nom l'indique, je suis affilié à Cava Packager.

Questions connexes