Struppi: Array mit Assoziativem Array

Beitrag lesen

HAllo,

ich möchte ein Array anlegen dessen Elemente jeweils ein Assoziatives Array ist. Wie geht das, und wie kann ich das dann in einer Schleife wieder aulesen?

Was ich probiert habe:

my @allUsers;
  my $user;

my %tst1 =("aaa" => "111",
             "bbb" => "222");
  push (@allUsers, %tst1);

%tst1 =("aaa" => "333",
          "bbb" => "444");
  push (@allUsers, %tst1);

foreach %user (@allUsers) { # Fehler 1
  }
  foreach $user (@allUsers) {
    print $user ."\n";   # Position 2
  }

Damit erzeugst du ein grosses Array, aber kein HASH.
So wie es aussieht willst du 2 HAHSes zusammenfügen.

Du kannst theoretisch mit:
my %user = @allUsers;

ein Array erzeugen, in deinem Beispiel gehen dadurch aber Einträge verloren.

Die Frage ist, was willst du genau machen?

Struppi.