Ich möchte überprüfen, ob der Parameter $PGkey
gleich einem Schlüssel mit dem gleichen Namen in einer Hash-Tabelle ist. Weiter möchte ich es in einem Format so nahe wie möglich tun:Wie überprüfe ich, ob ein Schlüssel in einem Hash in Perl existiert?
while(<PARAdef>) {
my($PGkey, $PGval) = split /\s+=\s+/;
if($PGkey == $hash{$PGkey}) {
print PARAnew "$PGkey = $hash{$PGkey}->[$id]\n";
} else {
print PARAnew "$PGkey = $PGval\n";
}
}
Gibt es eine einfache Möglichkeit, es zu tun?
Was genau ist das Problem? Funktioniert dein Code nicht? – innaM
Sind Sie sicher "==" ist der Operator, den Sie dort haben wollen? Sind $ PGkey und $ Hash {$ PGkey} beide Zahlen? Wenn es sich um Zeichenfolgen handelt, verwenden Sie stattdessen "eq". –
John - ja, sie sind Saiten. Mani - Sie können Chas Antwort sehen, vielleicht wird es Sie mein gelöstes Problem beleuchten :) – YoDar