rendered paste body#!/usr/bin/perl -w
################
# MAIN ROUTINE #
################
worte_initialisieren();
print "Wie heien Sie? ";
$name = <STDIN>;
chomp($name);
if ($name =~ /^robert\b/i)
{print "Hallo Spliffi !\n";}
else
{
print "Hallo $name...\n";
print "Wie lautet das Geheimwort: ";
$rateversuch = <STDIN>;
chomp($rateversuch);
while (!wort_richtig($name,$rateversuch)) # solange das Wort NICHT wahr ...
{
print "Falsch geraten, noch einmal. Wie lautet das Geheimwort: ";
$rateversuch = <STDIN>;
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 = <WORTLISTE>)) # solange die nchste Zeile nicht undef (Dateiende) ...
{
chomp($name); # abwechselnd Name und danach Geheimwort zeilenweise einlesen
$wort = <WORTLISTE>;
chomp($wort);
$worte{$name} = $wort; # und zu einem hash verbinden (wortliste)
}
close(WORTLISTE) || die "Kann die Wortliste nicht schliessen: $!";
}