All pastes #1265028 Raw Edit

Someone

public text v1 · immutable
#1265028 ·published 2008-11-23 13:40 UTC
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: $!";
}