#!/usr/bin/perl -w ################ # MAIN ROUTINE # ################ worte_initialisieren(); print "Wie heien Sie? "; $name = ; chomp($name); if ($name =~ /^robert\b/i) {print "Hallo Spliffi !\n";} else { print "Hallo $name...\n"; print "Wie lautet das Geheimwort: "; $rateversuch = ; chomp($rateversuch); while (!wort_richtig($name,$rateversuch)) # solange das Wort NICHT wahr ... { print "Falsch geraten, noch einmal. Wie lautet das Geheimwort: "; $rateversuch = ; chomp($rateversuch); } } ################ # SUB ROUTINEN # ################ sub wort_richtig { my($einname, $einrateversuch) = @_; # Variablennamen bei der bergabe benennen $einname =~ s/\W.*//; # alles hinter dem Wort abschneiden $einrateversuch =~ tr/A-Z/a-z/; # groe Zeichen durch kleine ersetzen if($einname eq "robert") {return 1;} elsif($worte{$einname} eq $einrateversuch) {return 1;} else {return 0;} } sub worte_initialisieren { open(WORTLISTE, "wortliste") || die "Kann die Wortliste nicht oeffnen: $!"; while( defined ($name = )) # solange die nchste Zeile nicht undef (Dateiende) ... { chomp($name); # abwechselnd Name und danach Geheimwort zeilenweise einlesen $wort = ; chomp($wort); $worte{$name} = $wort; # und zu einem hash verbinden (wortliste) } close(WORTLISTE) || die "Kann die Wortliste nicht schliessen: $!"; }