it-swarm-eu.dev

Welche Perl-Version soll ich unter Windows verwenden?

Die Website win32.Perl.org enthält Verweise auf verschiedene Perl-Distributionen für MS Windows.

Ich habe lange Zeit ActivePerl von ActiveState verwendet, aber kürzlich bin ich zu Strawberry Perl gewechselt.

IMHO Der einzige Vorteil, den Active Perl gegenüber Strawberry Perl noch hat, ist die Tatsache, dass es mit Perl Tk geliefert wird, was bedeutet, dass es einfach zu installieren ist Devel :: ptkdb der grafische Debugger. Abgesehen davon denke ich, dass Strawberry Perl alle Vorteile hat.

96
szabgab

Strawberry Perl wird immer besser. Ein Problem, das ich wiederholt mit ActiveState hatte, ist, dass meine Module manchmal nicht installiert werden können, weil ich ein Upgrade auf ein Kernmodul benötige, dies aber nicht zulassen. Daher kann jeder, der nicht Windows verwendet, meinen Code verwenden, aber er kann dies nicht mit Perl von ActiveState tun.

ActiveState hat auch ein sehr zweifelhaftes Build-System, das oft nicht genau meldet, warum ein Modul nicht erstellt werden konnte. Ich hatte es so satt, E-Mails zu schreiben und nach diesen Informationen zu fragen, dass ich schließlich aufgab. Ich möchte, dass mein Code unter Windows ausgeführt wird, aber wenn ActiveState mir diese Informationen nicht zur Verfügung stellt und mir keine Option zum Aktualisieren von Kernmodulen bietet, kann ich ihn einfach nicht verwenden. Einige meiner Module weisen KEINE Buildfehler auf einem Betriebssystem auf - mit Ausnahme derer mit ActiveState Perl. Unterstützen Sie Strawberry Perl und sorgen Sie sich nicht um ActiveState.

Wenn ActiveState das Build-System und die Richtlinie "Kein Upgrade auf Kernmodule" repariert hat, lohnt es sich, sie erneut zu überprüfen.

79
Ovid

Es gibt keine Single-Best-Perl-Distribution. Vanilla Perl (verschiebbares, weiterverteilbares Perl) und es ist entwicklerfreundlicher Strawberry Perl haben ein bedeutendes Potenzial.

Es gibt jedoch einen sehr guten Grund, warum ActivePerl so beliebt ist. Die Vorteile liegen hauptsächlich in der einfachen Bereitstellung für Ihre Endbenutzer (kein Compiler erforderlich, um deren Paketmanager, PPM, zu verwenden). Das ActiveState PDK (Perl Development Kit) ist auch eine sehr gute Möglichkeit, eine vollständige Windows-Binärdatei zu packen, für die keine Perl-Installation auf dem Computer des Benutzers erforderlich ist.

Leider sind viele sehr nette CPAN-Module (wie die Perl-Bindungen für OpenSSL) nicht über das ActiveState-Repository verfügbar.

Wie bei den meisten Dingen sollten Sie Ihre Auswahl anhand der Distribution treffen, die Ihren Anforderungen am besten entspricht.

30
Darren Meyer

Ich benutze hauptsächlich ActivePerl, aber ich mag es wirklich, wohin Strawberry Perl geht. Ich finde es toll, dass die cpan-Shell "einfach funktioniert" und ich nicht durch einen Haufen Reifen springen muss, um XS-Module zu installieren. (z. B. ExtUtils :: FakeConfig, obwohl dies in neueren ActivePerl-Builds weniger erforderlich ist.) Ich bin auch über die Möglichkeit von Perl auf einem Thumbdrive aufgeregt. Das Entwickler-Release von Portable Perl ist schon ziemlich brauchbar.

Ich bin damit einverstanden, dass der Hauptvorteil von ActivePerl "Tk out of the box" ist, beachte aber, dass ActivePerl ab 5.10 nicht mehr standardmäßig mit Tk ausgeliefert wird. Es wird stattdessen mit Tkx ausgeliefert.

17
Michael Carman

Die Zukunft ist definitiv Strawberry Perl. Unabhängig davon, für welche Option Sie sich entschieden haben (und dieses Problem betrifft nicht nur Windows), müssen Sie beim Verteilen des Endergebnisses an andere Computer die von Ihnen bereitgestellten Installationsanweisungen beachten.

13
Penfold

Strawberry Perl ist eher wie Perl auf * nix. Es kommt mit MinGW , was für sich genommen nützlich sein könnte. Die Perl-Module können auch mit ppm oder cpan installiert werden.

6
Rob Kam

Ich bevorzuge bei weitem Strawberry Perl. Zum einen wird gcc als Teil von mingwin installiert, sodass Sie direkt von CPAN aus installieren können.

Ich habe ActiveState's Perl für eine Weile benutzt, aber ich hatte viel Flakiness von einem Computer zum anderen, obwohl sie (scheinbar) identisch konfiguriert waren. Das Paketieren der PPM Module hat ebenfalls einen schlechten Geschmack hinterlassen. Es macht die Verwaltung von Paketen denkbar einfach, aber Sie verlassen sich darauf, dass sie nach CPAN-Aktualisierungen PPM aktualisiert werden Außerdem ist PPM keineswegs der vollständige Inhalt des CPAN; das letzte Mal, als ich ActivePerl verwendet habe, hatte ich Schwierigkeiten, alle benötigten Module zu finden, und die Dort gab es oft eine alte Version.

4
gWaldo

ActiveState Perl wird seit einiger Zeit als das De-facto-Windows-Perl angesehen. Obwohl es viele Mängel aufweist und viele von uns etwas anderes verwenden, bleibt es sehr beliebt. Wenn Sie Perl-Code erstellen, der auf einem anderen Windows-Computer (als Ihrem eigenen) ausgeführt werden soll, würde ich in Betracht ziehen, ihn mit Blick auf eine standardmäßige (oder so standardmäßige wie möglich) AS Perl-Installation zu schreiben, die ihn ausführt. Alles andere und Sie führen Eintrittsbarrieren für andere ein, die versuchen, Ihre App später zu verwenden.

3
phreakre

Ich benutze immer Cygwin (xterms mit bash sind so viel besser als cmd windows) und das Perl, das damit geliefert wird. Ich installiere Perl-Module mit der CPAN-Shell (dem "cpan" -Befehl); es funktioniert gut.

3
reinierpost

Ich hatte große Probleme mit Strawberry und fühlte, dass es keine Unterstützung gab. Die guten Leute bei PerlMonks konnten mir nicht helfen und ich gab auf. Wenn diese Seite Sie mit einem gewissen Mangel an Vertrauen zurücklässt, gibt es Ihre Antwort.

2
AmbroseChapel

Der Code, den ich schreibe, landet in Fortune 500-Unternehmen, so dass ein "Unternehmensgefühl" hilfreich ist. Bisher habe ich ActivePerl verwendet, und es hat sowohl für interne Tools als auch für die Verteilung an diese großen Kunden einwandfrei funktioniert.

2
aczarnowski

Ich verwende Active State Perl 5.014, was in Ordnung ist.

Das Problem ist, dass es nicht die neueste Version von Padre (die IDE, Debbug-Umgebung) gibt.

1
Helen Craigman