Philipp Hasenfratz: Hash aus Datei auslesen

Beitrag lesen

Halihallo Struppi

du willst 2 Dinge kennelernen.
use Data::Dumper;
gibt dir deine Variabeln aus.

Es gibt eine menschenlesbare Repräsentation der Datenstruktur aus, ja.

use Data::Dumper;
my %HASH = { bla => 1, blubb => 2};

Variablen sind keine Konstanten und werden klein geschrieben. Zudem, was wohl auf einen
Tippfehler zurückzuführen ist, schreibt man my %hash = () mit runden Klammern ;)

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" ;)

oder
use DB_File;

schon besser ;)

super Sache, vor allem in Verbindung mit Data::Dumper.

Data::Dumper erstellt ein Dump, also Abbild einer Datenstruktur und ist somit _nicht_
für die Speicherung derselben gedacht.

Viele Grüsse

Philipp

PS: Nicht bös gemeint, aber Data::Dumper mit eval sollte man wirklich nicht verwenden,
auch wenn's auf den ersten Blick "schön einfach und lustig" aussieht.