Hi selfer!
ich möchte ein Hash an eine Methode übergeben und diesen Hash dann durchlaufen ($key, $value).
my %hash = {a => 'foo', b => 'bar'};
test1(%hash);
sub test {
my $self = shift;
my %hash = shift;
while ( my ($key, $value) = each(%hash) ) {
print "$key => $value\n";
}
# oder
for my $key ( keys %hash ) {
my $value = $hash{$key};
print "$key => $value\n";
}
}
bei beiden Schleifen erhalte ich nur "HASH(0x84189c4) => " als Ausgabe.
Warum wird 1. die Schleife nur einmal durchlaufen und 2. warum erhalte ich nicht den Schlüssel und den Wert?
3. Wie kann ich überprüfen, ob 1 Parameter übergeben wurden?
@_ == 2 || die 'xyz';
schlägt immer fehl, da @_ 3 (warum 3?) ist.
Danke und eine friedliche Nacht :-)
Stella