Lösungen zu den Übungen in Kapitel 15

  1. Hier sehen Sie eine Möglichkeit, das Programm zum Erraten der Zahlen aus Kapitel 10 neu zu schreiben. Wir benutzen keine intelligenten Vergleiche, sondern given:

    use 5.010;
    
    my $Debug = $ENV{DEBUG} // 1;
    
    my $geheimzahl = int(1 + rand 100);
    
    say 'Nicht weitersagen. Die Geheimzahl ist $geheimzahl.'
        if $Debug;
    
    SCHLEIFE: {
    
        print 'Bitte geben Sie eine Zahl zwischen 1 und 100 ein: ';
        chomp(my $versuch = <STDIN>);
    
        my $gefunden = 0;
    
        given( $versuch ) {
            when( ! /^\d+$/ )        { say "Keine Zahl!" }
            when( $_ > $geheimzahl ) { say 'Zu groß!' }
            when( $_ < $geheimzahl ) { say 'Zu klein!'   }
            default                  { say 'Genau richtig!'; $gefunden++ }
            }
    
        last SCHLEIFE if $gefunden;
        redo SCHLEIFE;
    }
        redo SCHLEIFE;

    Im ersten when-Block überprüfen wir, ...

Get Einführung in Perl, Sixth Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.