Beat: csv - Dateihandhabung

Beitrag lesen

Ich überlege gerade, wie man es realisieren kann, in einer DB (mit csv-Datei), Werte dazwischen zu schieben:


A1;
   <--A2 einschieben!
B1;
C1;

Bitte sprich in den Begriffen Fields und Records.
Willst du ein Field einschieben oder einen Record einschieben?

Gibt es eine andere Möglichkeit A2 einzuschieben, außer die gesammte DB einzulesen, den entsprechenden Schreibvorgang nach A1 abzuwarten und mit A2 zu ergänzen, um dannach den Rest ebenfalls wieder zurück zu schreiben?

Mit Tie:File wird nicht die gesamte Datei eingelesen.

Falls du Felder brauchst, deren Wert ein Array ist, brauchst du einfach einen Drittes Datensatztrennzeichen:
Recordseparator
Fieldseparator
ArrayelementSeperator

Plus natürlich die entsprechenden maskierungen demaskierungen bei lesen/schreiben

Mir fällt keine andere ein. :-(

Du kannst Daten auch mittels dem Modul Storable als Perl-Hash speichern.
Das ist allerdings für wachsende Daten nicht geeignet, da immer der ganze Hash eingelesen wird.

Du kannst dir auch ein anderes Konzept überlegen.
Querystrings sind ein mögliches Format um Daten zu speichern. Felder dürfen mehrmalig vorkommen, und die Feldnamen werden ja auch gespeichert.

Das eignet sich vor allem für Daten, die ausser iherm Id-Feld beliebig viele und vor allem optionale Felder haben.

mfg Beat

--
><o(((°>           ><o(((°>
   <°)))o><                     ><o(((°>o
Der Valigator leibt diese Fische