Was wir in Kapitel 2 gemacht haben, ist zwar ein guter Anfang, jedoch hätten wir das viel bequemer mit einer ganz normalen HTML-Seite lösen können. Der Vorteil einer Programmiersprache liegt darin, dass man dynamisch auf bestimmte Ereignisse reagieren kann. Solche dynamischen oder auch variablen Teile in einem Script bezeichnet man als Variablen. Eine Variable ist nicht anderes als ein Platzhalter oder Container, der ver schiendene Werte annehmen kann.
Variablen
Schauen wir auch hier als erstes ein Beispiel an. Erstellen Sie im cgi-bin-Verzeichnis eine neue Datei variables.cgi mit folgendem Inhalt:
Die grauen Zeilen sind uns aus den vergangenen Kapiteln ja inzwischen bekannt. Darauf möchte ich nicht mehr genauer eingehen. Interessant sind die schwarzen Zeilen: zuerst erstellen wir zwei Variablen $ersteZahl (Wert: 3) und $zweiteZahl (Wert: 5), denen wir einen Wert zuweisen. Variablen beginnen immer mit einem Dollarzeichen ($). Deshalb haben wir im vorherigen Kapitel auch einmal gesagt, dass ein Dollarzeichen im Text backquoted werden muss (print "Das kostet 300 \$";), da ansonsten das Dollarzeichen als Beginn einer Variable betrachtet wird. Beim Namen gibt es einige Regeln zu beachten:
Variablennamen dürfen keine Leerzeichen enthalten
Ebenfalls nicht gestattet sind Sonderzeichen und Umlaute, oder anders gesagt: erlaubt ist a-z, A-Z, 0-9, -, _
Variablen dürfen nie mit einer Zahl beginnen $1zahl ist also nicht gestattet, $zahl1 hingegen schon.
Gross-/Kleinschreibung wird bei den Variablen beachtet. $variable1 ist also nicht gleich $Variable1
In Perl ist es - anders als in anderen Programmiersprachen - nicht notwendig, eine Variable als numerisch oder alphanumerisch zu definieren. Wird eine numerische Rechenoperation ausgeführt und in einer Variable befindet sich ein String (Text), so wird der Wert 0 verwendet.
Numerische Berechnungen
Perl bietet verschiedene numerische Berechnungen. In den folgenden Beispielen gehe ich immer davon aus, dass am Anfang zwei Variablen definiert wurden: $ersteZahl=10; $zweiteZahl=5.
Addition Mit dem + Zeichen können zwei Zahlen addiert werden. print $ersteZahl + $zweiteZahl wird 15 ausgeben.
Subraktion Mit dem - Zeichen kann eine Zahl von einer zweiten subtrahiert werden. print $ersteZahl - $zweiteZahl gibt als Ergebnis 5 aus.
Multiplikation Mit dem * Zeichen können zwei Zahlen multipliziert werden. print $ersteZahl * $zweiteZahl wird 50 ausgeben
Division Mit dem / Zeichen kann eine Zahl durch eine zweite Zahl dividiert werden. print $ersteZahl / $zweiteZahl wird 2 ausgeben
MOD-Division Mit dem % Zeichen kann eine Zahl durch eine zweite Zahl dividiert werden und es wird der Rest ausgegeben print 16 % $zweiteZahl wird 1 ausgeben (16 durch 5 = 3 Rest 1; Rest wird ausgegeben)
Potenzieren Mit dem ** Zeichen kann eine Zahl mit einer zweiten Zahl potenziert werden print $ersteZahl ** $zweiteZahl wird 100'000 ausgeben (10 hoch 5)
Wert neu zuweisen Der Wert einer Variable kann jederzeit verändert werden. Dazu muss der Variablenamen, der einen neuen Wert bekommen soll links vom = Zeichen stehen, auf der rechten Seite der neue Wert $ersteZahl = 15; weist der Variable $ersteZahl den Wert 15 zu $ersteZahl = $zweiteZahl; weist der Variable $ersteZahl den Wert der Variable $zweiteZahl (=5) zu $ersteZahl = $ersteZahl+1; erhöht den Wert der Variable $ersteZahl um 1 $ersteZahl++;
ist eine abgekürzte Schreibweise des oberen Beispiels und erhöht den Wert der Variable $ersteZahl um 1 $ersteZahl = $ersteZahl+10; erhöht den Wert der Variable $ersteZahl um 10 $ersteZahl+=10; ist eine abgekürzte Schreibweise des oberen Beispiels und erhöht den Wert der Variable $ersteZahl um 10 $ersteZahl = $ersteZahl-1; verkleinert den Wert der Variable $ersteZahl um 1 $ersteZahl--; ist eine abgekürzte Schreibweise des oberen Beispiels und verkleinert den Wert
der Variable $ersteZahl um 1 $ersteZahl = $ersteZahl-10; verkleinert den Wert der Variable $ersteZahl um 10 $ersteZahl-=10; ist eine abgekürzte Schreibweise des oberen Beispiels und verkleinert den Wert der Variable $ersteZahl um 10
Rechnen mit alphanumerischen Werten Alphanumerische Werte werden bei numerischen Berechnungen immer als 0 behandelt print 3 * "3 Stück" wird 0 ausgeben (3 * 0) print 5 + "2 Franken" wird 5 ausgeben (5 + 0)
Kurz zusammengefasst:
Wir können also mit "+" addieren, mit "-" subtrahieren, mit "*" multiplizieren und mit "/" dividieren.
Das Prozentzeichen (%) ist eine Division, als Ergebnis wird aber der Rest ausgegeben. 14 / 5 = 2 Rest 4 --> Ergebnis 4
Variablen können jederzeit neue Werte zugewiesen werden. Dabei wird der Variablen vor dem =-Zeichen der Wert hinter dem Gleichheitszeichen zugeordnet.
Sobald ein Buchstabe im Wert vorkommt, wird der Wert numerisch als 0 behandelt
Es existieren abgekürzte Schreibweisen. Um den Wert einer Variable um 1 zu erhöhen kann $variable++ geschrieben werden. -- verkleinert um 1. += erhöht um den angegebenen Wert, -= verkleinert. Wichtig: $variable=5; $variable+=20; ergibt den Wert 25 (5 wird um 20 erhöht). $variable=5; $variable=+20; ergibt den Wert 20 (der Variable wird der Wert "+20" = "20" zugewiesen).
Alphanumerische Berechnungen (Text)
Perl bietet auch verschiedene alphanumerische Berechnungen. In den folgenden Beispielen gehe ich immer davon aus, dass am Anfang zwei Variablen definiert wurden: $ersterText="Hallo"; $zweiterText="Du".
Verketten Mit dem . Zeichen können zwei Variablen verkettet werden print $ersterText." ".$zweiterText; ergibt Hallo Du print "$ersterText $zweiterText"; andere Schreibweise, gleiches Ergebnis: Hallo Du
Vervielfachen Mit dem x Zeichen kann ein Text mehrfach ausgegeben werden: print $ersterText x 4 ergibt HalloHalloHalloHallo
Text anhängen Mit der verkürzten Schreibweise .= kann eine Variable um einen Text ergäzt werden. $zweiterText.="mmkopf!" print $ersterText." ".$zweiterText; wird Hallo Dummkopf! ausgeben
Kurz zusammengefasst:
Mit einem "." können mehrere Texte miteinander verkettet werden
Mit einem "x" kann ein Text mehrmals hintereinander ausgegeben werden
.= ist eine verkürze Schreibweise, um einen Text zu ergänzen
Variablen kurz zusammengefasst
Variablen sind Platzhalter für numerische oder alphanumerische Werte
Variablen beginnen immer mit einem $-Zeichen
Der Wert einer Variable kann jederzeit verändert werden
"+", "-", "*", "/", "%" sind numerische Berechnungen
".", "x" sind alphanumerische Berechnungen
Es existieren abgekürzte Schreibweisen für einige Berechnungen
Texte werden bei numerischen Berechnungen immer als 0 behandelt
Zusammenfassung
In diesem Kapitel haben wir gelernt, dass Variablen existieren, die als Platzhalter für Zahlen und Texte eingesetzt werden können. Wir kennen auch die wichtigsten Rechenoperationen für numerische und alphanumerische Werte.