# Einlesen und rechnen
# diesmal wird überprüft, ob der Input korrekt ist
# dazu wird die if - else Konstruktion, eine weitere Kontrollstruktur verwendet
# die Syntax ist: if (BEDINGUNG) BLOCK1 else BLOCK2
# das bedeutet: wenn BEDINGUNG erfuellt ist, wird BLOCK1 ausgefuehrt, andernfalls BLOCK2
# Bemerkung, else BLOCK2 kann auch fehlen, wenn im Falle, dass Bedingung nicht zutrifft, nichts gemacht werden soll!

print "Bitte 2 Zahlen (mit Komma getrennt) eingeben:\n";

while(<>)
  {
    chomp;
    @input = split(/,/,$_);
# wir ueberpruefen jetzt, ob tatsaechlich genau 2 Werte eingegeben wurden
# dazu fragen wir die Anzahl der Elemente der Ergebnisliste von split ab
# Erinnerung: $#.. bezeichnet den Index (=Position) des letzten Elements der Liste ..
# da immer das erste Element einer Liste am Index (Position) 0 ist,
# muessen wir sichertstellen, dass der letzte Index 1 ist, denn genau dann 
# besteht die Liste aus exakt 2 Elementen
#
# eine weitere Besonderheit it "=="
# bisher hatten wir den Operator "=" kennengelernt
# mit "=" wurde in den vergangenen Beispielen ein bestimmter Wert zugewiesen
# in diesem Fall soll ja nicht ein Wert zugewiesen werden, sondern
# der aktuelle Wert ueberprueft werden.
# Deshalb duerfen wir dafuer nicht "=" verwenden (den Zuweisungsoperator),
# sondern muessen den Vergleichsoperator "==" verwenden!
# Vorsicht! Das ist eine sehr haeufige Fehlerquelle:
# wuerde man schreiben "$#input = 1", wuerde der letzte Index auf 1 gesetzt
# wenn @input mehr Elemente als 2 haette, wuerden dann alle anderen geloescht!
# ausserdem hat eine Zuweisung immer Erfolg, d.h. BEDINGUNG ist dann immer erfuellt!
 
    if ($#input == 1)
      {
	$resultat = $input[0] + $input[1];
	print "Ergebnis: $resultat\n";
      }
    else
      {
	print "Eingabe nicht korrekt, bitte noch ein Versuch!\n";
	}
  }



