Horst: Hash übergeben; for %hash

Beitrag lesen

Hallo,

ich möchte ein Hash an eine Methode übergeben und diesen Hash dann durchlaufen ($key, $value).

my %hash = {a => 'foo', b => 'bar'};

Dein hash ist nicht richtig deklariert, benutze einfache Klammern.
Am besten eine Referenz in die Subfunktion übergeben, like this:

[code lang=perl]
my %hash = ('a' => 'foo', b => 'bar');
test(%hash);

sub test {
  my $ref = shift;
  while ( my ($key, $value) = each %{$ref} ) {
    print "$key => $value\n";
  }
}

  
Hotte