zurückInhaltvorwärts Perl Einführung: Benutzereingaben

5. Benutzereingaben

Dieses Kapitel zeigt Dir, wie Eingaben über die Tastatur an Dein Perl Skript übergeben kannst. Um einer Variablen einen Wert über die Tastatur zuzuweisen muß Du folgenden Befehl eingeben:

$eingabe = <STDIN>;

Wenn Dein Perl Skript auf eine solche Zeile stößt, hält es an und wartet darauf, daß Du eine Eingabe über die Tastatur machst und mit <RETURN> abschließt. <STDIN> steht für Standard Input, also das Standard Eingabgerät. In der Regel handelt es sich um die Tastatur. Deine Eingabe wird in der Variablen $eingabe gespeichert.

Das folgende Beispiel ist voll aus dem Leben gegriffen und könnte nicht schneller mit einem simplen Taschenrechner gelöst werden. Das Skript berechnet den Flächeninhalt eines Rechtecks. Die notwendigen Parameter, die Seitenlängen, werden über die Tastatur abgefragt. Anschließend wird das Ergebnis berechnet und ausgegeben:

# Dies Skript berechnet den Flächeninhalt eines Rechtecks
# nachdem Höhe und Länge über die Tastatur eingegeben worden sind

print "Bitte gib die Länge des Rechtecks ein: ";
$laenge = <STDIN>;
chomp($laenge);

print "\nBitte gib die Höhe des Rechtecks ein: ";
$hoehe = <STDIN>;
chomp($hoehe);

$ergebnis = $länge * $hoehe;

print "Dein Rechteck hat den Flächeninhalt $ergebnis.";

Mit dem Befehl chomp hat es folgendes auf sich: Wenn Du Deine Eingabe abgeschlossen hast, schließt Du mit <RETURN> ab und sagst dem Skript so, daß die Eingabe vorgenommen worden ist. Das Entscheidende ist, daß nun auch dieses <RETURN> Teil Deiner Eingabe ist. Der chomp Befehl entfernt dieses ansonsten unsichtbare sogenannte newline Zeichen. Du solltest Dir angewöhnen, diesen Befehl nach jeder Eingabe anzuwenden, da zahlreiche Fehler bei der Verarbeitung von Usereingaben so vermieden werden können. Dies wird im Kapitel Kontrollstrukturen an Bedeutung gewinnen.

1. Übung
Schreibe ein Skript, das das Volumen eines Quaders berechnet.

2. Übung
Schreibe ein Skript, das Deinen Namen abfragt und Dich dann begrüßt.

Perl Einführung: Benutzereingaben zurückInhaltvorwärts