[gelöst] Perl Variablen plötzlich defekt?

Begonnen von drobskind, 08 September 2017, 20:35:19

Vorheriges Thema - Nächstes Thema

viegener

Es ist zwar ein interessanter Effekt mit den doppelten Semikolons, aber das eigentliche Problem liegt in dem abschliessenden Semikolon nach der geschweiften Klammer. Wenn Du das weglässt, dann sollte es funktionieren (auch mit einfachen Semikolons im modify).

Vermutung: Der notify erkennt das ganze Konstrukt nicht mehr als perl-konstrukt und versucht die einzelnen Teile als FHEM-Kommandos auszuführen.

Im Prinzip ist es vermutlich richtig, dass es so nicht richtig funktioniert, denn das Semikolon am Ende kündigt ja einen weiteren Befehl an, der aber nicht da ist. Trotzdem ist der Effekt überraschend
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

CoolTux

Stimmt. Es liegt in der Tat am Semikolon nach der geschweiften Klammer.
Kleiner Fehler große Wirkung. Darauf habe ich so gar nicht geachtet.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

viegener

Habe gerade mal in fhem.pl geschaut - ja perl wird nur ausgeführt wenn der Ausdruck am Anfang ein { hat und genau am Ende mit } beendet wird (abzüglich white space).

Warum es mit doppeltem ; geht ist mir trotzdem unklar und ich habe auch so keine Erklärung gefunden, kann es aber nachvollziehen. 
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

CoolTux

Magst Du eine Zusammenfassung für Rudi schreiben oder soll ich? Was er dann daraus macht ist ja seine Sache, aber so haben wir das mal gemeldet
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

viegener

Ich hatte das schon überlegt, aber es erscheint mir erstmal nicht als Fehler - Die Definition mit einem ; am Ende ist inkorrekt. Das der notify das schluckt finde ich generell auch keinen Fehler, eher etwas problematisch, weil auch wir beide nicht direkt draufgekommen sind.

Das es mit den 2 Semikolons geht ist in diesem Sinne auch kein Fehler (allerdinga auch nicht wirklich ein Feature)

Siehst Du das anders, oder ging es mehr darum das Verhalten für Rudi im Dev-Forum zu dokumentieren und er kann dann entscheiden ob er etwas ändern will? Das kann ich gerne machen.
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

CoolTux

Ich hatte es wenn dann dokumentiert. Rudi kann dann gerne entscheiden. Was sagst dazu?
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

viegener

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

CoolTux

Super. Vielen Dank. Rudi hat ja auch schon was dazu geschrieben.


Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

betateilchen

ich finde ja den Threadtitel total geil...

ZitatPerl Variablen plötzlich defekt

8)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

drobskind

Hallo Zusammen,

:o nun bin ich restlos verwirrt. Ihr schreibt dass es sich nicht um einen Fehler handelt und eigentlich funktionieren müsste. Aber das würde doch bedeuten, dass an meinem Codeschnipsel was falsch ist.
Darf innerhalb der {} Klammer gar kein ; Semikolon vorkommen, oder verstehe ich das falsch?
Weil wenn ich die weglasse hat wir WEBFHEM immer eine Fehlermeldung präsentiert beim klick auf "modify".

Bin für einen Tipp echt dankbar  ;)

Gruß

CoolTux

Zitat von: drobskind am 09 September 2017, 13:07:20
Hallo Zusammen,

:o nun bin ich restlos verwirrt. Ihr schreibt dass es sich nicht um einen Fehler handelt und eigentlich funktionieren müsste. Aber das würde doch bedeuten, dass an meinem Codeschnipsel was falsch ist.
Darf innerhalb der {} Klammer gar kein ; Semikolon vorkommen, oder verstehe ich das falsch?
Weil wenn ich die weglasse hat wir WEBFHEM immer eine Fehlermeldung präsentiert beim klick auf "modify".

Bin für einen Tipp echt dankbar  ;)

Gruß

Innerhalb der Klammern schon, nur nicht ausserhalb. Schau Dir mal deinen Code an

{
};

Ist falsch
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

drobskind

Hallo,

mist, wieder so eine Kleinigkeit, die einen verzweifeln lässt.  ::)

Vielen Dank für die Hilfe.
Jetzt funktioniert es.

Vermutlich habe ich dann irgendwann mal selber das Semikolon am ende eingefügt.
Weil laut euren Aussagen, kann es so ja wirklich nie funktioniert haben.

Danke danke danke!

Gruß
drobs

CoolTux

Gut. Können wir also abschließen.
Oder kurz gesagt

Der Drops ist gelutscht  ;D
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net