Halt, da ist mir glatt ein kleiner Fehler unterlaufen :-)
Beide Arrayelemente zeigen nun auf den selben Hash, der logischer Weise immer die selben Daten beinhaltet.
Deswegen musst Du natürlich anonyme Hashes verwenden, d.h.
my @allUsers;
my $user;
Datensatz 1
$index=scalar(@allUsers);
$allUsers[$index]->{aaa}="111";
$allUsers[$index]->{bbb}="222";
Datensatz 2 (andere Variante)
$index=scalar(@allUsers);
my %tst1=("aaa" => "333", "bbb" => "444");
%{$allUsers[$index]}=%tst1;
foreach $user (@allUsers) {
while (($k, $v)=each(%{$user})) {
printf "$k = $v\n";
}
}
So nun hab ichs auch noch mal getestet und es läuft.
- Johannes