FHEM-Syntaxprüfung beim zuordnen von Elementen einer Hashvariablen korrekt ?

Begonnen von TomLee, 05 Mai 2023, 12:51:13

Vorheriges Thema - Nächstes Thema

TomLee

Nicht wichtig, aber es beschäftigt mich.

Aufgrund der Frage hier, frage ich mich ob das richtig ist, das FHEM die Syntax moniert wenn man den Schlüssel ohne die Quotes angibt (-> invalid icon mapping table: Bareword "incoming" not allowed while "strict subs" in use at (eval 1565231) line 1.).

Ich hab bisher mitgenommen/gelesen das man bei Verwendung des =>-Operator diese auch weglassen kann/darf (hier steht das bspw.).

JoWiemann

Hallo,

da es sich bei der Definition von Attributen um eine vom Modul Ersteller vorgegebene Syntax handelt, ist jede Syntax die Richtige und hat nichts mit Fhem im Allgemeinen zu tun.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

TomLee


TomLee

Hab mir das jetzt doch genauer angeschaut.

Erkenntnis ist jetzt, mit FHEM-Syntaxprüfung hat das gar nix zu tun und deine Antwort ist doch nicht ganz richtig oder ?

In Zeile 167 wird doch mit ref geprüft ob ein Hash übergeben wurde, das hab ich nachvollzogen und ref hat kein Problem damit wenn der Schlüssel ohne Quotes angegeben wird und gibt auch dann HASH zurück.

Ich hab das erste mal bewusst "Berührung" mit eval. Die Fehlermeldung kommt doch aus Zeile 166, weil dort auf einen Perl-Syntaxfehler geprüft wird (Schlüssel/String ohne Quotes), was aber hier gar kein Fehler wäre bei der Übergabe aus dem Attribut ?

Evt. kann man das mit der Perl-Syntaxfehler-Prüfung ja anders lösen ?

Wenn ich mir hier nur was zusammenspinne ignoriert mich einfach  :P