Thread Vokabeltrainer (17 answers)
Opened by Futureflo at 2011-03-06 23:06

Linuxer
 2011-03-06 23:43
#146264 #146264
User since
2006-01-27
3890 Artikel
HausmeisterIn

user image
Hi,

mal ein paar allgemeine Dinge:

ich würde zunächst mal den "strict" Modus aktivieren. Unter Wiki:UseStrict wurde mal zusammengestellt, warum.

Dann würde ich die 3-Argument-Form des open() einsetzen und auch gleich lexikalische Filehandles. Dazu steht unter Wiki: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!

View full thread Vokabeltrainer