Thread Vokabeltrainer
(17 answers)
Opened by Futureflo at 2011-03-06 23:06
Hi,
mal ein paar allgemeine Dinge: ich würde zunächst mal den "strict" Modus aktivieren. Unter UseStrict wurde mal zusammengestellt, warum. Dann würde ich die 3-Argument-Form des open() einsetzen und auch gleich lexikalische Filehandles. Dazu steht unter WasIsteinLexikalischerFileHandle etwas. Stehen Deine Vokabeln nur in einer (sprich: der ersten) Zeile in Vokabeln.txt? Wenn nicht, dann solltest Du die Vokabel-Datei in einen Array einlesen, nicht in einen Skalar. Unabhängig davon solltest Du Dir bewusst sein, dass ein Zeilenumbruch auch eingelesen wird; D.h. Deine eingelesene Zeile enthält noch den Zeilenumbruch. Den kannst Du mit chomp() entfernen. Ansonsten kann es passieren, dass der String-Vergleich keinen Treffer liefert. Zu Deiner konkreten Frage: Du öffnest die Datei nur zum Überschreiben. Dadurch werden die vorigen zu speichernden Eingaben überschrieben. Du musst es mindestens zum anhängenden Schreiben öffnen, damit die neuen Einträge hinten angehangen werden können. meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen! |