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 ...
- print - ist eine Funktion die in der Perl-Bibliothek definiert ist und dient zur Ausgabe von Texten.
- "......" - Zwischen den
doppelten Anführungsstrichen steht der Text der auf dem Bildschirm ausgegeben wird.
- Hallo Welt - Der Text der mit der Funktion
print ausgegeben wird.
- \n - Der
Backslash \ und das n (= newline) ist ein sogenanntes Steuerzeichen und sorgt dafür, dass nach Ausgabe des Textes der Cursor in eine neue Zeile springt. Mit dem
Backslash \ lassen sich auch verschiedene Sonderzeichen darstellen.
- ; - Das Semikolon zeigt uns das Ende
einer Anweisung an. In unserem Fall ,das Ende der Anweisung print. Wenn der Perl-Interpreter zu diesem Zeichen kommt weiß er, hier
ist das Ende der Anweisung und geht dann zur nächsten Anweisung über. In unserem Fall ist das Programm zu Ende.
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).
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
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.
Es gibt in Perl zwei Arten von Konstanten ...
- Stringkonstanten für Text
- Zahlenkonstanten
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.
|