
Perl ist eine Skriptsprache - und unterscheidet sich somit von "klaßischen" (manche meinen richtigen) Programmiersprachen wie C oder Java darin, daß Perl nicht kompiliert werden muß. Kompilieren ist die Umwandlung des Quelltextes (also das was der Programmierer tippt) in maschinenlesbaren Text (sogenannten Maschinencode) - die Sprache die der Computer versteht.
In Sprachen die kompiliert werden müßen erfolgt nach dem Quelltext schreiben das Kompilieren. Hierbei werden sogenannte Binaries erstellt. Diese kann man dann ausführen. Will man das Programm später wieder starten muß man es nicht wieder kompilieren, sondern startet einfach das fertige Programm.
Bei Perl schreibt man seinen Quelltext in eine Datei, und kann diese Datei anschließend direkt als Programm starten. Das Kompilieren erfolgt hierbei automatisch durch den sogenannten Interpreter. Dieser "interpretiert" den Quelltext und übersetzt ihn zur Laufzeit in maschinenlesbaren Code.
Einer der Vorteile einer Skriptsprache liegt somit in der kürzeren Zeit die während der Entwicklung gebraucht wird, da nicht vor jedem Testen das Programms explizit kompiliert werden muß. Außerdem ist besonders bei kleineren Programmen der Quelltext wesentlich kürzer als die übersetzte Version.
Ein Nachteil zeigt sich bei größeren Programmen, da bei jedem Programmaufruf zunächst (intern) kompiliert wird und dies auch seine Zeit braucht.
Perl ist auf relativ hohem sprachlichen Niveau (für eine Programmiersprache versteht sich) geschrieben, und somit recht leicht zu
handhaben. Viele Dinge (z.B. die Speicherverwaltung) werden intern von der Sprache gelöst, so daß der Programmierer diese nicht zu beachten
braucht.
Zum Beispiel müßen in C, welches sich auf niedrigerem sprachlichen Niveau befindet, Variablen zunächst deklariert werden um ihnen
Speicherplatz zuzuweisen. In Perl hingegen verwendet man einfach eine Variable - die Deklaration übernimmt Perl!
Dieses "Abnehmen von Arbeit" hat den Vorteil, daß die Entwicklung sowohl schneller voran geht (weil eben vieles gar nicht so sehr beachtet
werden muß) und außerdem einfacher wird (da zahlreiche Fehlerquellen von vorn herein ausgeschloßen sind).
Nachteilig ist in manchen Fällen, daß die interne Lösung durch Perl nicht immer absolut effektiv ist, so daß Perl-Programme beispielsweise
C-Programmen gegenüber Performanceschwächen aufweisen. Sie verbrauchen also z.B. mehr Arbeitßpeicher oder die Programmausführung dauert länger.
Dies macht sich allerdings nur bei großen Programmen wirklich bemerkbar.
Der Erfinder von Perl ist Larry Wall. Als er eines Tages bei einem Problem an die Grenzen von awk (eine ältere, ebenfalls interpretierte Programmiersprache für Unix) stieß, beschloß er selbst ein Werkzeug zu entwickeln, welches neben diesem Problem noch mindestens ein Weiteres lösen könnte. Dieses Werkzeug nannte er Perl und stellte es der Usenet-Gemeinde zur Verfügung. Da es auf Resonanz stieß wurde es immer größer und mächtiger. Heute ist Larry Wall längst nicht mehr der einzige Verwalter von Perl, trägt aber immer noch den Titel des Chef-Architekten.
Der Name Perl hat mehrere Bedeutungen. Die wohl populärste ist "Practical Extraction and Report Language" (praktische Sprache für Datenextraktion und -ausgabe), manche sagen aber auch "Pathologically Eclectic Rubbish Lister" (krankhaft zusammengeschustertes Auflistungsprogramm für wirres Zeug). Mir persönlich gefällt die Variante am besten, daß Perl die "Perlen" anderer Programmiersprachen (z.B. die Basic-Perle der Ausgabeformate oder die C-Perle der Operatorenvielfalt) zu einer großen Perle verschmolzen hat - also die Vorteile andere Programmiersprachen in sich vereint.
Die Grundlagen von Perl laßen sich im Vergleich zu anderen Programmiersprachen relativ schnell und einfach erlernen - dies stellt also für einen erfahrenen Programmierer kein großes Hindernis dar. Kann man es dann einmal hat man stets ein kleines, recht einfaches, aber sehr mächtiges und vielseitiges Werkzeug zur Hand (sozusagen ein Schweizer Taschenmeßer). Besonders in Situationen wo in recht kurzer Zeit ein kleines Skript für einen ganz bestimmten Zweck gebraucht wird sind Perl-Kenntniße Gold wert. Außerdem ist Perl ein Quasi-Standard für CGIs - und ein selbst geschriebener Counter mit den gewünschten Funktionen für die Homepage oder gar ein Gästebuch sind sicher nicht zu verachten.
Einen weiteren Grund stellt die Tatsache dar, daß Perl auch erfahrenen Programmierern neue Möglichkeiten zur Problemlösung bietet, denn viele Aufgaben laßen sich in Perl mit extrem wenig, dafür aber sehr effektiven Quellcode lösen.
Auch für programmier-unerfahrene Leute gibt es viele Gründe gerade Perl als erste Sprache auszuwählen. Perl ermöglicht es dank seiner
Schlichtheit programmiertechnische Grundlagen (Variablen, Schleifen, Auswahlanweisungen usw.) ohne zunächst unnötiges Drumherum zu erlernen.
Außerdem kommt man in Perl recht schnell zu ersten Ergebnißen, da die Sprache einerseits ein recht hohes programmiersprachliches Niveau hat, und
außerdem kein Kompilieren nötig ist. Als Beispiel sei hier auf die beiden kommenden Kapitel verwiesen.
Auch die Perl-Community (also alle Leute die Perl benutzen und sich gern darüber austauschen) stellt gerade am Anfang eine große Hilfe dar. In zahlreichen englisch- und deutschsprachigen Foren, Mailingslisten und Newsgroups sollte allen die nett fragen und etwas Geduld aufbringen die nötigen Antworten, Tipps und Hinweise gegeben werden (siehe auch Kapitel 9).
Wer Linux laufen hat hat schon mal einen Vorsprung, denn Perl gehört hier zu den Basispaketen. Um sicher zu gehen, daß Perl auch wirklich drauf ist kann man einfach
| perl -v |
in die Konsole eingeben. So erfährt man auch gleich welche Version man hat. Sollte Perl wider Erwarten nicht installiert sein, muß man das entsprechende Paket seiner Distribution einspielen - es heißt soweit ich weiß überall "perl" (naja, wie denn auch sonst ;).
Nachdem wir uns nun vergewißert haben, daß Perl da ist brauchen wir nur noch den Editor Ihrer Wahl. Hier tippen Sie nun folgende 2 Zeilen ein:
|
#!/usr/bin/perl print "Hallo Welt!\n"; |
Die erste Zeile gibt an in welchem Verzeichnis sich der Interpreter (also Perl) befindet. Dies ist in der Regel obiges. Man kann die Angabe auch weglaßen, so daß Perl erst gesucht wird - das kostet aber sinnlos Zeit. Die zweite Zeile ruft die print-Funktion auf und übergibt in Anführungszeichen den auszugebenden Text. Das "\n" am Ende sorgt dafür, daß der Cursor anschließend in die nächste Zeile springt - wie wenn man Enter drückt.
Speichern Sie die Datei nun z.B. unter "hallo.pl" ab und machen Sie sie mit
| chmod +x hallo.pl |
ausführbar. Anschließend brauchen Sie das Programm nur noch zu starten:
| hallo.pl |
Herzlichen Glückwunsch! Sie haben soeben ihr erstes Perl-Programm geschrieben und erfolgreich ausgeführt. Mehr möchte ich an dieser Stelle nicht erklären. Um Perl zu lernen schauen Sie sich am besten in Kapitel 9 um
Im Gegensatz zu Linux beinhaltet Windows Perl nicht standardmäßig. Zum Glück hatte ActiveState die Idee Perl für Windows zu portieren. Auf www.activestate.com kann man sich Perl unter dem Namen ActivePerl kostenlos herunterladen.
Nachdem Sie Perl nun installiert haben können wir mit der eigentlichen Programmierung beginnen. Öffnen Sie den Editor Ihrer Wahl (der unter Programme - Zubehör zu findende reicht zunächst vollkommen aus) und tippen folgende Zeile ein:
| print "Hallo Welt!\n"; |
Sie rufen somit die print-Funktion auf und übergeben in Anführungszeichen den auszugegebenden Text. Das "\n" am Ende sorgt dafür, daß der Cursor anschließend in die nächste Zeile springt - wie wenn man Enter drückt.
Speichern Sie die Datei nun z.B. unter "hallo.pl" ab, klicken auf Start - Ausführen und geben "command" ein. Im sich öffnenden Eingabefenster wechseln Sie mit "cd.." bzw. "cd verzeichnisname" in das Verzeichnis wo "hallo.pl" gespeichert ist. Hier starten Sie das Programm durch:
| perl hallo.pl |
Herzlichen Glückwunsch! Sie haben soeben ihr erstes Perl-Programm geschrieben und erfolgreich ausgeführt. Mehr möchte ich an dieser Stelle nicht erklären. Um Perl zu lernen schauen Sie sich am besten in Kapitel 9 um
Zum Erlernen der Sprache empfehle ich den Kauf eines Buches. Auf verschiedenen Internet-Seiten kann man dann nachschlagen, neue Module besorgen oder Dokumentaionen zu speziellen Themen anschauen. Das Usenet empfiehlt sich zum Fragen stellen an Gleichgesinnte bei Verständnißchwierigkeiten und ähnlichem.