Im ersten Teil meiner Empfehlungen für Perl-Schulungen, Perl-Einsteiger und erfahrene/fortgeschrittene Perl-Entwickler ging es um Bücher, jetzt geht es an die Praxis: Entwicklungsumgebungen.
Für Perl-Schulungen und den üblichen Perl-Einsatz empfehle ich in der Regel die folgende Kombination an Basis-Werkzeugen (eine Detailliertere Beschreibung folgt weiter unten):
- Als Betriebssystem: Windows wenn möglich vermeiden, das macht alles nur komplizierter und unkomfortabler; ein Unix oder Unix-Derivat macht das Leben leichter (OS X, FreeBSD, Linux, Solaris, AIX, ...)
- Perl selbst:
- Unter Windows: die aktuelle Version vom Strawberry-Perl
- Unter Unix- und Unix-ähnichen Systemen ist Perl in der Regel bereits installiert. Eine seperat installierte aktuelle Version von Perl 5, im Augenblick also 5.10.0 ist aber oft sinnvoller.
- Als Entwicklungsumgebung Eclipse (bevorzugt) oder Komodo IDE
- Bei Eclipse noch zusätzlich die aktuelle Version des Perl-Plugins
- vim oder Emacs sind nur für solche Einsteiger geeignet, die diese Editoren bereits im Schlaf beherrschen
Perl installieren
Windows
Mit Strawberry-Perl gibt es seit anfang 2008 endlich ein Perl, dass sich unter Windows genauso verhält wie man es von Perl erwartet. Mit funktionierender CPAN-Integration und ohne die übliche Frickelei.
A 100% Open Source CPAN-capable Perl for all your Windows® computers that works exactly the same as Perl everywhere else.
Einfach Herunterladen, installieren und fertig. Der Installer funktioniert allerdings (derzeit?) nur mit Admin-Rechten!
Ohne Admin-Rechte scheint die .zip-Version zu funktionieren, allerdings muss man dazu die Dateien dennoch unter C:\strawberry entpacken und der Environment-Variable für den PATH von Hand C:\strawberry\perl\bin sowie C:\strawberry\c\bin hinzufügen. Vermutlich müssen auch noch ein paar Library-Pfade angepasst werden, das habe ich aber nicht getestet.
Bevor Strawberry-Perl fertig war, wurde unter Windows meistens ActivePerl eingesetzt. Dieses empfehle ich aufgrund der deutlich schlechteren CPAN-Integration nun nicht mehr. Strawberry-Perl kann nahezu alles was ActivePerl kann auch und ist mit der funktionierenden CPAN-Integration einfacher und flexibler einsetzbar.
Unix-artige Systeme
Unter Unix-artigen Systemen (Linux, Mac OS X, FreeBSD, Solaris, AIX usw.) ist Perl in der Regel bereits vorinstalliert oder über die Paket/Port-Verwaltung einfach installierbar.
Dennoch bietet es sich häufig an, ein eigenes aktuelles Perl zu installieren. Zzum Beispiel um eine Trennung vom System-Perl zu haben und in Ruhe experimentieren zu können oder um es mit anderen Optionen zu compilieren. Dazu folgende Schritte ausführen:
- Source der aktuellen Version (derzeit 5.10) herunterladen
- Via Shell Auspacken: tar -xzvf perl5-10.0.tar.gz und ins Verzeichnis mit dem Source wechseln: cd perl5-10.0
- Perl automatisch konfigurieren lassen, aber Installationsort vorgeben, zum Beispiel:
./Configure -de -Dprefix=/home/username/mein-perl
Alternativ können auch alle Optionen manuell gesetzt werden, dazu das -de weglassen, dann wird nachgefragt - Perl bauen und testen: make && make test und dann installieren: make install
Der Pfad mit den Binaries – im obigen Beispiel /home/username/mein-perl/bin – sollte natürlich in den PATH mit aufgenommen werden.
Entwicklungsumgebung
Früher reichte zum Programmieren irgendein Editor, heute ist man aber mehr Komfort gewohnt. Die Entwicklungsumgebung sollte die Standard-Tastenkürzel und das Standard-Verhalten der üblichen Applikationen bieten und sich so nahtlos in die üblichen Arbeitsabläufe integrieren, so dass man beim Wechsel zwischen E-Mail-Programm, Web-Browser, Textverarbeitung, Code-Editor und sonstigen Programmen sich nicht umgewöhnen muss. Zudem sollte eine Entwicklungsumgebung einen Syntax-Check gleich bei der Eingabe unterstützden, damit insbesondere Einsteiger Fehler schneller finden.
Zur Perl-Programmierung bieten sich derzeit mit Eclipse und Komodo im Wesentlichen zwei Lösungen an, die nicht nur einen Editor mit vielen Zusatzfunktionen und Projektverwaltung sondern gleich auch einen grafischen Debugger mitbringen. Mit Padre ist eine in Perl geschriebene Entwicklungsumgebung in Entwicklung, dies aber noch in einem extrem frühen Stadium.
Eclipse
Eclipse ist eine plattformübergreifende Entwicklungsumgebung, die ursprünglich von IBM für die Java-Entwicklung erstellt wurde, in der Zwischenzeit aber als OpenSource Projekt gepflegt wird und für viele Programmiersprachen Plugins bietet. Die Integration von CVS und Subversion, Projektverwaltung und vieles mehr ist gleich mit dabei. Eclipse mitsamt dem Perl-Plugin habe ich schon unter OS X, FreeBSD, Linux, AIX und Windows erfolgreich eingesetzt.
Die Installation ist einfacher als es aussieht: zuerst das passende Paket von der Eclipse-Website herunterladen. Für die Perl-Entwicklung ist jede der dort angebotenen Varianten tauglich, je nach persönlichem Geschmack und weiteren Bedürfnissen also eine aussuchen.
Für die Perl-Integration ist EPIC – Perl Editor und IDE für Eclipse – nöitg. Dazu am einfachsten im Help-Menü die den Eintrag Software-Updates->Find and Install... aufrufen, dort die Option Search for new features to install wählen.
Im nachfolgenden Dialog die Option New Remote Site wählen und dort die Update-Adresse vom Perl-Plugin reinkopieren. Die Testing-Version ist normalerweise stabiler, neuer und mit weniger Fehlern als die normale, daher bietet sich diese an.
Dann in den folgenden Dialogen alle Meldungen bestätigen und schon ist das Perl-Plugin installiert. Im Window-Menü kann man über Views bzw. Perspektiven die einzelnen Perl-Funktionen in Eclipse aktivieren oder im Navigator ein neues Perl-Projekt anlegen.
(Das folgende ist in neueren Versionen des Plugins schon eingestellt) Zudem bietet sich an, in den Eclipse-Einstellungen unter General->Editors->File Associations *.t mit dem Perl-Plugin zu verknüpfen, so dass auch die üblichen (Regression/Unit) Tests gleich mit dem richtigen Editor bearbeitet werden.
Außerdem sind die Standard-Farben für meinen Geschmack sehr häßlich, das mag man sich bei Bedarf auch individuell einstellen.
Dafür bietet EPIC nicht nur alle oben genannten Features inlusive Syntaxcheck während der eingabe, sondern auch integrierte Source-Code-Formatierung mit PerlTidy, Integration von Perl::Critic und Module::Starter und vieles mehr.
Eine Übersicht über die Features des Perl-Plugins und eine Kurzanleitung bietet die EPIC-Website.
Komodo IDE
Komodo IDE ist eine kommerzielle Entwicklungsumgebung für viele Scriptsprachen und wird von ActiveState hergestellt. Komodo IDE kostet 295 US-Dollar. Es gibt auch eine 21-Tages-Test-Version.
Dafür ist die Installation in einem rutsch erledigt, es ist ein wenig schneller und in ein paar Details angenehmer als Eclipse+EPIC.
Auf der anderen Seite hat es schmerzlicherweise keine PerlTidy-Integration, was insbesondere für Perl-Einsteiger sehr hilfreich ist: mal schnell Command-Shift-F gedrückt und schon ist der Code formatiert! Auch die Projektverwaltung und Subversion/CVS-Integration finde ich in Eclipse angenehmer, es kann aber sein dass sich das bei Komodo da in letzter Zeit etwas gebessert hat.
Als Alternative: vim oder Emacs
Für Shell-Freaks, die vi bzw. vim oder Emacs im Schlaf bedienen können, sind diese natürlich auch als Entwicklungsumgebung geeignet. Dies trifft in der Regel aber nur auf sehr wenige Einsteiger zu. Beide erfordern einen extrem lange Einarbeitsungszeit und einen hohen Lernaufwand. Meines Erachtens gibt es nur zwei Vorteile:
- vi ist auf allen Unix-ähnlichen Systemen immer vorhanden. Es kann also nicht schaden wenigstens zu lernen, wie man Dateien ändern, speichern und den Editor wieder verlassen kann.
- als vim oder Emacs-Nutzer ist man gezwungen mit Tastenkürzeln zu arbeiten, bei GUI-Editoren kommt man auch weitgehend ohne aus. Man wird also langfristig zur Effizienz gezwungen. GUI-Editoren lassen sich allen Vorurteilen zum Trotz auch effizient und oftmals effizienter benutzen, aber man wird nicht dazu gezwungen – dafür sind sie aber deutlich komfortabler und auch diejenigen, die Dateien üblicherweise per Mausklick speichern kommen sofort damit zurecht.
Und diese Vorteile erkauft man sich neben einer Reihe weiterer
Nachteile damit, dass die Entwicklungsumgebung vollkommen anders zu bedienen ist als der Web-Browser, die Textverarbeitung und die meisten anderen gängigen Anwendungen.
Für vim gibt es auch ein Perl-Plugin.
Fazit
Es gibt eine Reihe von Möglichkeiten, die einzelnen Werkzeuge zum Entwickeln zu kombinieren. Als Editor/Entwicklungsumgebung empfehle ich Eclipse mit dem Perl-Plugin. Damit ist man sehr flexibel, das ganze Ding ist sehr mächtig und dennoch halbwegs einach zu bedienen.
Wenn es Windows sein muss, empfehle ich auf jeden Fall Strawberry-Perl, da dies im Gegensatz zum Beispiel zu ActivePerl eine vollständige CPAN-Integration bietet. Und das CPAN ist das wichtigste bei Perl überhaupt.
Wie wär's mal mit einem Blick auf Padre?
Murks - "mit einem _genaueren_ Blick" auf Padre sollte das heißen. Das kann inzwischen schon eine ganze Menge...
Ich schlage einfach mal ganz unverschämt bei diesem Beitrag die Werbetrommel für meinen eigenen Perl-Schnellstart-Artikel (auch mit Strawberry Perl und Windows): http://reneeb-perlblog.blogspot.com/2011/04/perl-schnellstart.html