Hi
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";
}
}
ok, das kommt von Copy und Paste :-(
eine Frage hätte ich noch
ich möchte nach der Schleife überprüfen ob es ein bestimmtes Element im hash gibt und ob er nicht leer ist
~~~perl
if(%{$ref{elementname}}){
...
}
-> Global symbol "%ref" requires explicit package name at /opt/x/y/z/test.pm line 35.
Stella