cgicorner.ch

Informationen rund um Perl/CGI

Sie sind hier: Home > CGI Hilfe > Tutorial > Kapitel 3 - Variablen

Tutorial - Kapitel 3: Variablen

Voraussetzungen für dieses Kapitel

  • Webserver mit Perl/CGI-Unterstützung

Einleitung

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 verschiendene 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:

#!/usr/bin/perl
print "Content-type: text/html\n\n";
$ersteZahl=3;
$zweiteZahl=5;
$ergebnis=$ersteZahl*$zweiteZahl;
print "<html><body>";
print "$ersteZahl multipliziert mit $zweiteZahl ergibt $ergebnis";
print "</body></html>";

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

    $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

    $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.

Wie geht's weiter?

Kapitel 4 befasst sich mit Arrays und Hashes

Im vorherigen Kapitel (2) haben wir einmal das erste Script geschrieben und den Syntax genauer angeschaut.

Sie können aber auch zurück zum Inhaltsverzeichnis und dort ein beliebiges anderes Kapitel auswählen.