Thread serial, dump - Komplexe Datenstrukturen speichern und ausgeben (12 answers)
Opened by mika at 2012-03-03 14:55

mika
 2012-03-04 03:20
#156598 #156598
User since
2010-10-02
168 Artikel
BenutzerIn

user image
Bevor ich auf eure Ideen und Vorschlage eingehe möchte ich vorab dann
doch genauer erklären was ich habe (aber ganz Abstrakt; Ohne die genaue Anwendung dahinter zu verraten :-P)

Ich habe einen Hash von Listen in dem ich als Schlüssel eine ID speichere und hinter der ID als Wert eine Liste von Werten steht, die ich über einen Programmlauf hinweg behalten muss:

In Perl:
Code: (dl )
1
2
3
%hash;
@liste = ("Zeichenkette", "und noch eine", "...");
${hash{"./liste/1"}} = @liste; # usw.


@rosti (Stichwort: Serialize-Algorithmen): Du schlägst also vor das ich "Marker setze" anhand derer ich beim einlesen wieder erkenne wann eine Liste und dann die einzelnen Werte anfangen/aufhören und dies dann Byte-weise abspeichere. Verstehe ich das richtig?
Gefällt mich aber hierfür gerade nicht wirklich, denn ich möchte zZ. eine Möglichkeit die mit wenig Code (von mir) zu machen ist. Ein einzeiliger Aufruf jeweils für das lesen und speichern ist mir zZ. schon am liebsten - sprich ein Modul im Hintergrund.
(Das Prinzip des Skripts ist zwar schon grob durchdacht muss sich aber erst als tauglich beweisen bevor ich was "richtiges" daraus mache - was ich dann schon vorhabe.)

@hlubenow: YAML - ja auch eine Möglichkeit...

IMO ist es aber wohl schon am besten den Hash direkt und vllt. auch komprimiert in einer Datei, ein Archiv (CPAN:Archive::Zip) so was in der Richtung zu hinterlegen. (Die Daten sind reine "Nutzdaten", da braucht es erst mal keinen "bequemen" Weg um dran zu kommen und die manuell zu bearbeiten).

Werde es wohl vorerst mit Storable machen wie GwenDragon vorgeschlagen und rosti ja Bestätige hat.

Noch mal eine andere Frage dir mir so einfällt. Gibt es einen direkten Weg eine Variable statt als Adresse im Arbeitsspeicher gleich als Datei auf der Festplatte zu "Deklarieren" um diese "permanent" zu machen.
Theoretisch sollte so etwas doch schon möglich sein? Die Performance würde aber wohl... na gut lassen wir das. Ihr klingelt euch sicher schon vor lachen, jetzt an so etwas zu denken ist dann wohl doch fern ab der Realität... Also der letzte Teil war nur Theorie und Interesse!

n8
mika
Last edited: 2012-03-04 03:54:11 +0100 (CET)

View full thread serial, dump - Komplexe Datenstrukturen speichern und ausgeben