Sehr Umfangreiche Webseite zum Programmieren in C Perl CGI, Skripting, Linux, SystemprogrammierungPerl Kurs Skripting print Hallo Welt in Perl Shebang Kommentare Konstanten Perl Skript Hallo Welt Shebang Kommentare C/C++ Perl Kurs Kapitel 2

2.1. Hallo Welt in Perl           zurück Ein Kapitel tiefer zum Inhaltsverzeichnis

Wie immer in einer neuen Programmiersprache, werden Sie  mit dem obligatorischen Hallo Welt-Programm beginnen. Die Ausführung ist unter Linux/Unix und MS-DOS/Windows sehr ähnlich. Verwenden Sie einen Editor Ihrer Wahl und erstellen Sie einen Datei Namens hello.pl mit folgendem Inhalt ... 


#!/usr/bin/perl -w

print "Hallo Welt\n";

Speichern Sie die Datei (hello.pl) in einem Verzeichnis Ihrer Wahl ab.  Jetzt müsste sich in diesem Verzeichnis eine Datei Namens hello.pl finden. Nun zu den einzelnen Bedeutungen der Zeilen im Skript.

Die erste Zeile ...

#!/usr/bin/perl -w

... ist die Shebang-Zeile. Eigentlich sind in Perl alle Zeilen, die mit dem Zeichen # beginnen, Kommentare. Nur die erste Zeile hat eine besondere Bedeutung in Perl. Damit können Sie Kommandozeilenargumente an den Perl-Interpreter übergeben. In diesem Fall währe dies das Argument -w, womit im Falle eines Fehlers eine Warnung ausgegeben wird. Bitte passen Sie gegebenenfalls diese Zeile an. Verwenden Sie dabei das Verzeichnis, wo sich Ihr Perl-Interpreter befindet. Unter MS-DOS/Windows könnten die Beispielsweise so aussehen ...

#!c:\apache\perl\bin\perl.exe -w

Kommen wir nun zur Ausführung der zweiten Zeile im Programm ...

print "Hallo Welt\n";

Folgende Bedeutung haben dabei hier die einzelnen Bestandteile ...

Jetzt wollen wir das Skript zur Ausführung bringen. Unter MS-DOS/Windows geben Sie Beispielsweise ein ...

c:\apache\perl\bin\perl hello.pl

und unter Unix/Linux ...

/usr/bin/perl hello.pl

Sollte dies unter Unix/Linux nicht funktionieren, müssen sie das Ausführungsrecht für das Skript verändern mit ...

chmod +x hello.pl

Nun müsste Hallo Welt auf dem Bildschirm ausgegeben werden. Wenn sie das Skript nicht ausführen wollen, sondern nur testen ob sie keinen Fehler gemacht haben, können sie das Programm nur mit der Option -c aufrufen ...

perl -c hello.pl bzw. /usr/bin/perl -c hello.pl

Wenn Sie vielleicht schon Erfahrung haben in anderen Programmiersprachen wie z.B. C/C++, werden Sie sich  gefragt haben, wo den nun der Binärcode ist? Nun, Perl ist bzw. nennt man deswegen eine Skriptsprache weil es keinen Binärcode gibt sondern nur das Skript als Quellcode. Und damit wir das Programm zum Ausführen bringen, benötigen wir daher auch keinen Compiler sondern man verwendet dazu einen Interpreter (Perl-Interpreter). 

2.2. Kommentare           zurück Ein Kapitel tiefer Ein Kapitel höher zum Inhaltsverzeichnis

Wenn Sie Kommentare in Ihrem Skript einfügen wollen, so wird diesem das Zeichen # vorangestellt.

#!/usr/bin/perl -w



#Dies ist ein  Kommentar der nicht vom Interpreter beachtet wird

print "Hallo Welt\n";  #Hier wird Hallo Welt auf dem Bildschirm ausgegeben

Übersetzen Sie das Skript wie im Kaptitel zuvor. Alle Zeichen die hinter dem Zeichen # stehen, werden bis zur nächsten Zeile nicht mitausgegeben und sind Kommentare. Falsch wäre hingegen ...

#Dieser Kommentar erstreckt sich über 2 Zeilen

 ohne das in der 2. Zeile ein  # steht

Hier beginnt in der zweiten Zeile ein Kommentar, ohne das dem das Zeichen # vorangeht. Richtig wäre gewesen ...

#Dieser Kommentar über 2 Zeile

#wurde richtig gemacht

2.3. Nichtdruckbare Steuerzeichen           zurück Ein Kapitel tiefer Ein Kapitel höher zum Inhaltsverzeichnis

Nichtdruckbare Steuerzeichen (auch Escape-Operatoren genannt), werden mit einem Backslash vorangestellt geschrieben gefolgt von einem weiteren Zeichen. Dennoch handelt es sich dabei intern um ein Zeichen.Damit lassen sich Beispielsweise Zeichen wie die Perl-Symbole \ ' " darstellen. Sie können ja mal folgendes Skript testen ...

#!/usr/bin/perl -w



print "Dies ist ein "Perl-Kurs"\n";

print "Wir versuchen ein Backslash auszugeben : \ \n";

Bei der ersten Zeile werden Sie eine Fehlermeldung zurückbekommen und in der zweiten .Zeile, wird das Backslash nicht mitangezeigt. Stellen Sie nun den doppelten Anführungsstrichen und dem Backslash ein Backslash voran ...

#!/usr/bin/perl -w



print "Das ist ein \"Perl-Kurs\"\n";

print "Wir versuchen ein Backslash auszugeben : \\ \n";

Nun klappt es auch mit der Ausgabe der Hochkommata und dem Backslash.

Hierzu folgt nun ein Überblick zu den Escape-Sequenzen und Ihre Bedeutung in Perl ...

\a BEL(bell) akustisches Warnsignal
\b BS(backspace) setzt Cursor um eine Position nach links
\e Escape
\f FF(formfeed) ein Seitenvorschub wird ausgelöst. Wird hauptsächlich bei Programmen verwendet mit denen man etwas ausdrucken kann.
\n NL(newline) Cursor geht zum Anfang der nächsten Zeile
\r CR(carriage return) Cursor springt zum Anfang der aktuellen Zeile
\t HT(horizontal tab) Zeilenvorschub zur nächsten horizontalen Tabulatorposition
\v VT(vertical tab) Cursor springt zur nächsten vertikalen Tabulatorposition
\" " wird ausgegeben
\' ' wird ausgegeben
\\ \ wird ausgegeben
\cX Kontrolldarstellungen
\u nächstes Zeichen groß
\U alle nachfolgenden Zeichen groß
\l nächstes Zeichen klein
\L alle nachfolgenden Zeichen klein

Hierzu  ein weiteres Skriptbeispiel ...

#!/usr/bin/perl -w



print "Ein Signalton mit \'\\a\' \a\n";

print "\UAlle Zeichen werden in Grossbuchstaben ausgegeben\n";

print "\LAlle Zeichen werden in Kleinbuchstaben ausgegeben\n";

print 'Hier wird das Newline-Zeichen nicht ausgeführt?\n';

print "\n";

In diesem Beispiel haben Sie unter anderem auch gesehen, dass man Zeichen auch zwischen einfache Hochkommata ausgeben kann. Der Nachteil an dieser Version, mit einzelnen Anführungsstrichen ist, dass die Escape-Sequenzen als String, also als Zeichen, ausgegeben werden wie Sie im Quellcode stehen. Dies wird im Fachjargon Expansion genannt.

2.4. Konstanten           zurück Ein Kapitel tiefer zum Inhaltsverzeichnis

Es gibt in Perl zwei Arten von Konstanten ...

Stringkonstanten haben Sie ja bereits kennen gelernt wie z.B. ...

#!/usr/bin/perl -w



print "Ich bin eine String-Konstante\n";

print 'Ich bin auch eine String-Konstante';

print "\n";

Zahlenkonstanten schreibt man ebenfalls direkt in den Quellcode, wie uns folgendes Beispiel demonstrieren soll  ...

#!/usr/bin/perl -w



print 100;

print "\n";

print 99.99;

print "\n";

print 100_000_000.1234;  #100000000.1234

print "\n";

print 1e-2;              #0.01

print "\n";

print 0b0101;            #binäre Darstellung von 5

print "\n";

print 0111;              #oktale Darstellung von 73

print "\n";

print 0xff;              #hexdezimale Darstellung von 255

print "\n";

Hier haben Sie einige Möglichkeiten wie man Zahlenkonstanten in Perl ausgeben kann. C/C++ Programmieren werden sich jetzt Fragen ob es auch möglich ist, symbolische Konstanten, wie z.B. mit #define zu definieren. Hierzu die Variante für Perl ...

use constant MWST => 15;

print MWST;

print "\n";

Damit werden im Quellcode alle Zeichen MWST durch den Wert 15 ersetzt, was uns die Ausgabe bei Ausführung des Skriptes, auch bestätigt.