use strict; use warnings; #Zahlenraten my $toguess = int rand(100); #Zufallsvariable; integer 0-99 my $zaehler = 1; my $variable = -1; # kein undef; klarer Wert verhindert Warnung print "Bitte geben Sie eine ganze Zahl zwischen 0 und 99 ein: "; while ($toguess != $variable) { # kein extra "my" hier; wir nutzen das von oberhalb der Schleife # damit wird hier die gesetzte -1 von oben überschrieben # Zeilenumbruch mit chomp() aus der Eingabe entfernen chomp( $variable = ); # Entweder die Eingabe war falsch if ( $variable < 0 || $variable != int($variable) ) { print "Ungültige Eingabe.\n"; } # ODER sie war genau richtig elsif ( $toguess == $variable ) { print "Sie haben richtig geraten, zu erraten war: $toguess\n", "Sie benötigten $zaehler Versuche.\n"; } # ODER sie war zu gross ODER zu klein else { # der einzige Unterschied dieser Ausgabe liegt in der Relation # also bestimme Relation und gebe dann den Text entsprechend aus my $relation = 'kleiner'; $relation = 'größer' if $toguess > $variable; print "Die gesuchte Zahl ist $relation.\n", "Bitte geben Sie eine neue Zahl ein: "; $zaehler++; } }