Hashmap erstellen mittels Perl


bauchinj

Erfahrenes Mitglied
Hallo!

Also, hab vor ein paar Stunden im PHP-Forum die Anregung erhalten, mich mal bei einem Problem das schier aussichtslos mit PHP zu lösen ist an Perl ranzumachen.
Hab also einige Tutorials durchgemacht und bin der Überzeugung, dass dies die richtige Sprache für mein Problem ist:

Hab eine ziemlich Große Datei (ca. 5MB), die irgendwelche Daten in einer geordneten Struktur enthält. Ich brauche aber lediglich einige Daten davon und diese in einer klaren Struktur => ich will 1. Platz sparen und 2. Schnell auf die Daten zugreifen können. Es handelt sich hierbei um einen Ordnerbaum, der mittels Hashmap (hoffe dies ist hier der richtige Begriff) gespeichert werden soll. Hab mir in den letzten Stunden ein relativ gutes Bild machen Können und bin Begeistert von der Geschwindigkeit, die Perl im Bezug auf Dateiverwaltung an den Tag legt.

Ich habe bereits einen Hash für den ersten und den zweiten Pfad, wie merge ich diese aber (und in weiterer Folge die nächsten ca. 100.000)? Wie speichere ich den Hash am besten ab, oder muss ich diesen immer wieder neu generieren. Hab schon mal Dateien mit der Endung .db gesehen und irgendwo im Inet gelesen, dass dies Hashmaps oder Hashtables sind. Sowas wär das richtige für mich.

Bin euch dankbar für jede Antwort.


mfg bauchinj
 

ToPeG

Grünschnabel
Am schnellsten und einfachsten geht es über "Storable". Das ist schon bei Perl dabei.
Code:
use Storable;
my $storage_file="saved.db";

# ...

my  $hash_ref = retrieve($storage_file);

# ...

store($hash_ref, $storage_file);