Erstmal vorne weg, bitte gib keine falsche email Addresse an, es besteht keine Pflicht etwas dort einzutragen.
ich möchte eine Personenliste erstellen. Dabei definierte ich folgenden Hash und Array
my %Person = ();
my @Liste = ();nun weise ich folgende Werte zu:
$Person{'Vorname'} = "Frank";
$Person{'Zuname'} = "Maier";
$Liste[0] = %Person;
Damit wet du einem Skalar eine Liste zu, das bedeutet das Perl das umwandelt in die Anzahl der Elemente. Du hast in $Liste[0] also 2 stehen. hmm, mal nachgeprüft, du hast hier 2/8 stehen, warum weiß ich grad nicht.
$Person{'Vorname'} = "Hans";
$Person{'Zuname'} = "Geier";
$Liste[1] = %Person;
Hier genau so.
angegeben, womit der Perl-Interpreter nicht klarkommt. Wie muss ich z.B. den Schlüssel 'Vorname' in dem Hash, der sich im ersten Element [0] im Array @Liste befindet, korrekt ansprechen?
ich glaub du willst was ganz anderes, du willst eine List mit Hashelementen, dass sieht so aus:
my @liste = (
es hat sich eingebürgert, dass Variabeln mit einem Kleinbuchstaben anfangen
{ Vorname => 'Hans', Zuname => 'Geier' },
{ Vorname => 'Frank', Zuname => 'Maier' }
)
Dann kannst du auf die einzelenen Elemente zugreifen:
$liste[$index]->{Vorname}
$liste[$index]->{Zuname}
oder wie LeeLoo probiert hat, mit push:
my @liste;
push @liste, { Vorname => 'Hans', Zuname => 'Geier' };
push @liste, { Vorname => 'Frank', Zuname => 'Maier' };
In der Perl Doku findest du noch viel mehr darüber.
Struppi.
Javascript ist toll (Perl auch!)