Thread Eingabeproblem (3 answers)
Opened by qwe123qwe at 2021-08-11 08:07

qwe123qwe
 2021-08-11 08:07
#193529 #193529
User since
2013-10-08
65 articles
BenutzerIn
[default_avatar]
Seit längerem bin ich mal wieder auf ein kleineres aber trotzdem nicht selbst lösbares Problem in einem sehr alten Skript gestoßen.
Die folgende Subroutine fragt den Benutzer nach den Nummern von den Indizes ab, die weiter benutzt werden sollen :


Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
sub indexnummer_abfragen {
        
        my ($nr, $startnr, $endnr);
        print "Die Nummern und Namen der wählbaren Indizes sind:\n";
        for ($nr = 0; $nr <= 10; $nr++) {
                print "$indexliste[$nr][0] = $indexliste[$nr][1]\n";
        }

        print "\nBitte NUMMER des 1. abzufragenden Index eingeben. Voreinstellung ist 0\n";
        chomp ($startnr = <STDIN>);
        unless ( $startnr ) {
                $startnr = 0;
        }
        print "$startnr\n";

        print "Bitte NUMMER des letzten abzufragenden Index eingeben. Voreinstellung ist 10\n";
        chomp ($endnr = <STDIN>);
        unless ( $endnr ) {
                $endnr = 10;
        }
        print "$endnr\n";

        if ( $startnr > $endnr ) {
                print "Angaben nicht akzeptabel. Skript neu starten\n";
                exit;
        } else {
                print "\ndie Schleife läuft über die Indizes $startnr bis $endnr\n";
        }
        @indexnummern = ($startnr, $endnr);
        return @indexnummern;
}


Das funktioniert im Allgemeinen auch so. Nur bei der Frage nach dem letzten Index erscheint bei Eingabe einer 0 trotzdem als Endnummer immer die 10 .... !? Bei allen anderen Eingaben kommt hingegen das erwünschte Ergebnis. Woran liegt das ?
Danke schön schon mal für eure Antwort.
Last edited: 2021-08-13 20:38:56 +0200 (CEST)

View full thread Eingabeproblem