Johannes Röckert: Array mit Assoziativem Array

Beitrag lesen

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