Siechfred: Schüssel von Hashes in einem Array Ansprechen

Beitrag lesen

ich möchte eine Personenliste erstellen.

Klar, aber so wird das nix.

$Liste[0] = %Person;

Du weist dem angesprochenen Arrayelement den skalaren Wert deines Hashs zu statt des Hashes selber. Für das Erweitern von Arrays gibt es push, den Link zu perldsc hast du ja schon bekommen:

push @Liste, { %Person };

Die geschweiften Klammern bewirken, dass der Hash, wie er ist, dem Array hinzugefügt wird. Du könntest auch den Listenkontext verwenden, indem du statt der geschweiften eckige Klammern verwendest. Den Unterschied siehst du, wenn du dir @Liste via Data::Dumper ausgeben lässt.

So weit meckert der Perl-Interpreter auch nicht.

Klar, ihm ist egal, was du deiner Liste zuweist, doch spätestens beim Zugriff via:

$Ausgabe = $Liste[0]{'Vorname'};

erlebst du gerade dein blaues Wunder. Notiere die Zuweisung richtig und alles wird gut :)

Siechfred

--
Ich bin strenggenommen auch nur interessierter Laie. (molily)