From 33613a85afc4b1481367fbe92a17ee59c240250b Mon Sep 17 00:00:00 2001 From: Sven Eisenhauer Date: Fri, 10 Nov 2023 15:11:48 +0100 Subject: add new repo --- .../examples/EXAMPLE4.PL | 49 ++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 Bachelor/Systemprogrammierung in Perl/examples/EXAMPLE4.PL (limited to 'Bachelor/Systemprogrammierung in Perl/examples/EXAMPLE4.PL') diff --git a/Bachelor/Systemprogrammierung in Perl/examples/EXAMPLE4.PL b/Bachelor/Systemprogrammierung in Perl/examples/EXAMPLE4.PL new file mode 100644 index 0000000..aa587b5 --- /dev/null +++ b/Bachelor/Systemprogrammierung in Perl/examples/EXAMPLE4.PL @@ -0,0 +1,49 @@ +#!/Perl/bin/perl +use strict; +use warnings; +$| = 1; #flush output + +# Arrays beginnen immer mit dem @ Zeichen +# Arrays koennen sofort durch eine Liste in runden Klammern initialisiert +# werden + +my @words = ("Kamel", "Lama", "Auster"); #unser Geheimwort +my ($name, $guess, $ipass, $correct); + +print "Wie heissen Sie? "; +$name = ; +chomp $name; +if ( $name eq "gerhard" ) { + print "Hallo Gerhard, wie nett daß du da bist!\n"; +} +else { + print "Hallo $name!\n"; # Standard Gruß + print "Wie lautet das Geheimwort? "; + $guess = ; + chomp ( $guess ); +# Skalaren Variablen koennen auch Integer oder +# oder Float Werte zugewiesen werden + $ipass = 0; + $correct = "vielleicht"; + while ( $correct eq "vielleicht" ) { + +# Der Zugriff auf ein Array Element erfolgt indem man den numerischen Index +# in eckige Klammern schreibt. +# Das Ergebnis ist ein Skalar, daher das $ Zeichen + + if ( $words[$ipass] eq $guess ) { #richtig + $correct = "Ja"; + } +# der elsif Operator steht statt einem else if + elsif ( $ipass < 2 ) { # weiterraten + $ipass = $ipass + 1; + } + else { # keine weiteren Passwörter + print "Falsch geraten, nochmal. Wie lautet das Geheimwort? "; + $guess = ; + chomp $guess; + $ipass = 0; + } + } +} +exit; -- cgit v1.2.3