Hello,
Mir fällt da noch was auf.
Falls das if nicht zutrifft, d.h. die Zeile passt nicht, sollte ja eigentlich weitergesucht werden.
Wenn der else-Zweig ausgeführt wird, wird $weiter auf false gesetzt und somit die Schleife beendet.
Das heißt, weitere Zeilen außer der ersten werden gar nicht durchsucht.
Da stimmt noch was mit der Logik nicht.
Da scheinst Du Recht zu haben.
Mac will ja wohl nur dann abbrechen, wenn er einen passenden Eintrag gefunden hat.
Das $weiter = false würde also in den if-Zweig gehören.
Und das Hinzufügen einer Zeile gehört gar nicht in die Schleife, denn es soll ja erst nach fruchtlosem Ablauf der Schleife durchgeführt werden, wenn ich die Aufgabenstellung jetzt richtig verstanden habe.
Aber wenn er/sie such nicht wieder meldet, lohnt sich das Rätselraten nicht.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg