Struppi: Hash aus Datei auslesen

Beitrag lesen

Hi Philipp

open F, ...
print F Dumper %HASH;
close;

und einlesen:

open F ...
my $VAR1 = <F>;
eval ($VAR1);
my %HASH = %{$VAR1};

Äm, sorry, aber das ist zwar funktional aber völliger Schwachsinn.
Wenn du schon komplexe Datenstrukturen speichern willst, dann verwende

perldoc Storable;

aber ein aperformantes generieren eines schönen Abbildes der Datenstruktur und ein
aperformantes einlesen über kurriose eval's (was bei Attacken auch lauffähiger Perl-Code
sein könnte) ist schlicht, naja etwas viel "Overhead" ;)

Mhh, ich verstehe die Einwände. Aber

Bevor ich den Umstieg auf mySQL gewagt habe, habe ich meine "Datenbanken" immer so benutzt. Storable hat den Nachteil, das ich alle Daten einlesen muss, was wohl selbst bei einer kleinen DB nicht unbedeutsam ist.

eval sollte aber keine Probleme machen, da der Inhalt ja nicht ausgeführt wird, sondern der output von Data::Dumper, der (oder verläßt mich da meine Vorstellungskraft) keinen Code enthält, sondern Strings, die die Datenstruktur darstellt.

Struppi.

P.S. ich teile so viel Kritik aus, da sollte man durchaus auch Kritik einstecken können ;-)