Perl-Programmierung: Hello World

Aus Wikibooks
Wechseln zu: Navigation, Suche
Wikibooks buchseite.svg Zurück zu Perl-Kultur | One wikibook.svg Hoch zu Inhaltsverzeichnis | Wikibooks buchseite.svg Vor zu Variablen


Wer das Pech hat, vor einem Rechner ohne Perl zu sitzen, und niemanden gefunden hat, der ihm das abnehmen kann, sollte einen Blick in unsere Installationsanleitung werfen.

Traditionsgemäß ist das erste Programm, das man in einer neuen Programmiersprache schreibt, eines, das 'Hello World!' ausgibt.

Hello World[Bearbeiten]

hello.pl:

print "Hello World!\n";

Das typische Einstiegsbeispiel einer Programmiersprache, das Ausgeben von "Hello World!" auf dem Bildschirm, beschränkt sich bei Perl auf eine einzige Zeile. Sie enthält die Anweisung, einen Text auszugeben und den Text selbst, gefolgt von einem Semikolon, welches das Ende der Anweisung anzeigt. Texte können in Perl sowohl in einfache (') oder doppelte Anführungszeichen (") eingeschlossen werden. Hier in diesem Beispiel werden doppelte Anführungszeichen verwendet, dadurch werden bestimmte Zeichenfolgen durch Steuerzeichen ersetzt. In diesem Fall wird "Hello World!" als Text interpretiert, der eins zu eins auf dem Bildschirm ausgegeben wird. Das \n ist das Zeichen für einen Zeilenumbruch.

Auf unixartigen Systemen gibt es zwei Konzepte, das Programm ablaufen zu lassen.

  • Am einfachsten ist es, den Perl-Interpreter mit einem Kommando aufzurufen, und ihm die Quellcode-Datei als Parameter zu übergeben:
$ perl hello.pl
  • Am häufigsten wird meist zusätzlich zu Beginn des Quelltextes die sogenannte shebang-Zeile eingegeben. Sie gibt an, mit welchem Interpreter-Programm der nachfolgende Quellcode ausgeführt werden soll. Bei einer Standardinstallation liegt der perl-Interpreter bei Unix-Systemen im Verzeichnis /usr/bin, die Shebang-Zeile lautet also
#!/usr/bin/perl

Sollte sich der Perl-Interpreter woanders befinden, läßt er sich mit dem Kommando "which perl" lokalisieren.

Damit haben wir nun folgenden Code:

hello.pl:

#!/usr/bin/perl
print "Hello World!\n";


Das reicht aber noch nicht: Zusätzlich müssen wir die Quellcodedatei mit "chmod +x hello.pl" ausführbar machen. Das erlaubt uns den Programmstart mit:

$ ./hello.pl


Unter Windows hat die shebang-Zeile keine Funktion, schadet jedoch auch nicht. Unter Windows sollte unsere Komandozeile daher entsprechend anders aussehen:

C:\Perl\scripts> perl hello.pl
  • Ändern Sie das Programm so ab, dass es nicht mehr die Welt, sondern Sie begrüsst.
  • Ändern Sie das Programm so ab, dass es Sie nach der Begrüßung in der nächsten Zeile fragt, wie es Ihnen geht. Die Ausgabe sollte in etwa so aussehen:
Hallo Ihr_Name!
Wie geht es Ihnen?
  • Spielen Sie ein wenig mit dem Sonderzeichen \n herum. Was passiert, wenn Sie es weglassen oder verdoppeln?

Hinweis: Denken Sie an das Semikolon, wenn Sie eine neue print-Anweisung einfügen.

Dokumentation[Bearbeiten]

Perl ist mit einer Fülle von Dokumentation ausgestattet. Diese ist über viele Handbuchseiten (engl. manual pages, kurz man pages) verstreut. Eine Übersicht über die vorhandenen Handbuchseiten kann man sich mit

man perl

anzeigen lassen.

man ist ein Unix-Befehl. Wenn Sie kein Unix oder ein ähnliches System wie Linux und BSD einsetzen, dann ist dieser Befehl auf Ihrem System möglicherweise nicht verfügbar.

Die Perl-Dokumentation ist auch im Web unter perldoc.perl.org erhältlich.

In diesem Wikibuch werden Sie an verschiedenen Stellen dazu aufgefordert, Informationen auf einer Handbuchseite nachzuschlagen. Damit ist dann stets gemeint, die betreffende Seite mit man oder im Web unter perldoc.perl.org zu betrachten.

Die in Perl eingebauten Funktionen sind auf der Handbuchseite perlfunc erläutert. Diese Handbuchseite ist lang und in der Regel müssen Sie etwas blättern, bis Sie die betreffende Funktion gefunden haben. Daher gibt es dafür ein Abkürzung:

 perldoc -f Funktionsname

zeigt Ihnen die Dokumentation zu genau dieser einen Funktion an.

  • Schlagen Sie die Handbuchseite zu man nach.
  • Lesen Sie nach, wie die Funktion print funktioniert. (Sie müssen noch nicht alles verstehen.) Hinweis: Denken Sie daran, dass Sie Dokumentation zu einer Funktion nicht nur auf eine Art nachschlagen können. (TIMTOWTDI).
  • Schlagen Sie mit perldoc im Katalog der häufig gestellten Fragen nach, welche Perl-Version Sie einsetzen sollten. Gibt es eine eindeutige Antwort? Welche Version setzen Sie ein?

Sicherheitsgurt anlegen[Bearbeiten]

In Perl ist es sehr einfach, sehr kryptisch anmutenden Code zu schreiben, da praktisch alle Sonderzeichen mit Bedeutungen belegt sind und die Sprache Perl selbst viele Abkürzungen und implizites Verhalten bereit stellt.

Es wird im Allgemeinen als guter Stil angesehen, nicht alle Möglichkeiten in Perl auszureizen, da sich sonst leicht Fehler einschleichen und unwartbarer Code entsteht.

Einige sprachliche Möglichkeiten, die sich über die Jahre als problematisch erwiesen haben, kann man mit der Anweisung use strict; unterdrücken. Der Perlcompiler gibt dann bei der Compilierung eine entsprechende Warnung aus.

Eine weitere Anweisung hilft bei der Entwicklung „sauberen“ Codes. Die Perlsyntax erlaubt Ausdrücke, deren Auswertung nicht immer das bewirkt, was der Programmierer erwünscht. Perl selbst „kennt“ einige dieser Ausdrücke und kann sich selbst auffordern, bei Verwendung dieser Ausdrücke Warnungen auszugeben. Beispiel für einen solche Ausdruck ist die Addition einer Zahl und einer Zeichenkette. Obwohl dies von der Syntax her gültiges Perl ist, kann über die Sinnhaftigkeit zumindest gestritten werden. Die Anweisung use warnings; führt zur Ausgabe der Warnungen.

Die beiden angesprochenen use-Anweisungen sollten zu Beginn eines jeden Perlskripts stehen, da sie nicht nur bei der Fehlersuche helfen, sondern den Programmierer auch dabei unterstützen, Fehler zu vermeiden.

Um diese beiden Anweisungen erweitert sieht das erste Perlskript dann wie folgt aus:

hello.pl:

#!/usr/bin/perl

use strict;
use warnings;

print "Hello World!\n";
Querverweise: Siehe auch Guter Stil (in Stil und Struktur)


Wikibooks buchseite.svg Zurück zu Perl-Kultur | One wikibook.svg Hoch zu Inhaltsverzeichnis | Wikibooks buchseite.svg Vor zu Variablen