Hi Danny!
was spricht gegen
if ( $hash{$schluessel} == $wert }
? ( == gegebenenfalls durch eq ersetzen )
Ganz recht, jedoch erwaehnte alex ja explizit die Moeglichkeit, dass es einen Schluessel gar nicht gibt. Wenn Du dann direkt obiges ausfuehrst, kann das Warnungen produzieren (wenn -w aktiv ist, was es immer sollte). Daher besser auch pruefen, ob der Schluessel existiert *und* einen Wert hat:
if (exists($hash{$schluessel}) && defined($hash{$schluessel}) && $hash{$schluessel} == $wert) { }
Da defined nur zutreffen kann, wenn auch exists zutrifft (d.h. exists gibt entweder sowieso true, oder defined ergibt *auch* false), kann man exists hier auch weglassen, wodurch sich das vereinfacht auf:
if (defined($hash{$schluessel}) && $hash{$schluessel} == $wert) { }
Siehe auch: perldoc -f exists
So long