Perl, Arrays und garstige Leerzeichen
2003-11-14 13:08
Popcorn
Ich scheiter gerade an einem Problem, das sicher ganz simpel ist, aber auf dessen Lösung ich trotzdem nicht kommen. Dazu kommentiere ich mal kurz den relevanten Quelltextauszug aus der Funktion "Eintrag löschen":
Wenn dies nicht der Fall ist, führe ich noch ein, glaube ich ziemlich überflüssiges, chop aus und klatsche die Zeile mit einem Zeilenumbruch am Ende in den Array… ->
Das dämliche ist nur, dass außer in der ersten Zeile, alle weiteren Zeilen im Textfile von einem Leerzeichen angeführt werden. Ich habe mir die Ergebnisse an verschiedenen Stellen angesehen. Es ist alles in Ordnung. Bei Ausgabe des kompletten Arrays schließlich, findet sich am Ende jeder Zeile ein Leerzeichen. Die einzelnen Zeilen beginnen aber bündig am Anfang. Liegt der Fehler beim Speichern?
undef @Overview;
open(DATABASE, "<faqlist.txt") || die &error;
while() {
($themenbereich2,$entry_id2,$headline2,$userid2,$datum2)=split(/\|/,$_);
if($parameter ne $entry_id2) {
Hier wird die Übersicht geladen. Jede Zeile des Textfiles enthält Infos zu genau einem Eintrag. Aus der Zeile hole ich kurz die id des Eintrages und prüfe, ob es sich um den zu löschenden Eintrag handelt. chop($_);
push(@Overview,$_."\n");
}
}
Wenn dies nicht der Fall ist, führe ich noch ein, glaube ich ziemlich überflüssiges, chop aus und klatsche die Zeile mit einem Zeilenumbruch am Ende in den Array… ->
open(GENERATED, ">faqlist.txt");
print GENERATED "@Overview";
close(GENERATED);
… der dann gespeichert wird.Das dämliche ist nur, dass außer in der ersten Zeile, alle weiteren Zeilen im Textfile von einem Leerzeichen angeführt werden. Ich habe mir die Ergebnisse an verschiedenen Stellen angesehen. Es ist alles in Ordnung. Bei Ausgabe des kompletten Arrays schließlich, findet sich am Ende jeder Zeile ein Leerzeichen. Die einzelnen Zeilen beginnen aber bündig am Anfang. Liegt der Fehler beim Speichern?