Hallo dev0,
ich bekomme die folgende Perl Warning bei 98_expandJSON.pm:
2020.01.27 08:23:26 1: PERL WARNING: Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.30), passed through in regex; marked by <-- HERE in m/^.*:Topology:.{ <-- HERE .*nodeinfo.*}$/ at .//FHEM/98_expandJSON.pm line 64.
2020.01.27 08:23:26 1: PERL WARNING: Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.30), passed through in regex; marked by <-- HERE in m/^.*:Topology:.{ <-- HERE .*nodeinfo.*}$/ at .//FHEM/98_expandJSON.pm line 82.
Es gibt noch mehrere dieser Meldungen bei anderen Definitionen/Devices.
Meine Perl-Version ist die folgende:
This is perl 5, version 28, subversion 1 (v5.28.1) built for x86_64-linux-gnu-thread-multi
Kannst du dir die Sache anschauen?
Viele Grüße Gisbert
Auch diese Zeilen stehen in meiner log-Datei:
2020.01.27 08:23:43 1: PERL WARNING: Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.30), passed through in regex; marked by <-- HERE in m/^.*:SENSOR:.{ <-- HERE .*}$/ at .//FHEM/98_expandJSON.pm line 143.
2020.01.27 08:23:43 1: PERL WARNING: Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.30), passed through in regex; marked by <-- HERE in m/^.*:STATE:.{ <-- HERE .*Wifi.*}$/ at .//FHEM/98_expandJSON.pm line 143.
2020.01.27 08:23:43 1: PERL WARNING: Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.30), passed through in regex; marked by <-- HERE in m/^.*:Topology:.{ <-- HERE .*nodeinfo.*}$/ at .//FHEM/98_expandJSON.pm line 143.
Schalte mal stacktrace ein um zu sehen wo das entsteht
Hallo herrmannj,
hier ein (kleiner) log-Auszug, der sich alle paar 10 Sekunden wiederholt:
2020.01.27 13:47:37 1: PERL WARNING: Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.30), passed through in regex; marked by <-- HERE in m/^.*:SENSOR:.{ <-- HERE .*}$/ at .//FHEM/98_expandJSON.pm line 143.
2020.01.27 13:47:37 1: stacktrace:
2020.01.27 13:47:37 1: main::__ANON__ called by .//FHEM/98_expandJSON.pm (143)
2020.01.27 13:47:37 1: main::expandJSON_Notify called by .//FHEM/98_apptime.pm (178)
2020.01.27 13:47:37 1: main::apptime_getTiming called by .//FHEM/98_apptime.pm (138)
2020.01.27 13:47:37 1: main::CallFn called by fhem.pl (3683)
2020.01.27 13:47:37 1: main::DoTrigger called by fhem.pl (4747)
2020.01.27 13:47:37 1: main::readingsEndUpdate called by fhem.pl (4929)
2020.01.27 13:47:37 1: main::readingsSingleUpdate called by .//FHEM/10_MQTT_DEVICE.pm (249)
2020.01.27 13:47:37 1: MQTT::DEVICE::onmessage called by .//FHEM/00_MQTT.pm (535)
2020.01.27 13:47:37 1: MQTT::__ANON__ called by FHEM/GPUtils.pm (75)
2020.01.27 13:47:37 1: GPUtils::GP_ForallClients called by .//FHEM/00_MQTT.pm (545)
2020.01.27 13:47:37 1: MQTT::Read called by .//FHEM/98_apptime.pm (178)
2020.01.27 13:47:37 1: main::apptime_getTiming called by .//FHEM/98_apptime.pm (138)
2020.01.27 13:47:37 1: main::CallFn called by fhem.pl (755)
2020.01.27 13:47:37 1: PERL WARNING: Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.30), passed through in regex; marked by <-- HERE in m/^.*:SENSOR:.{ <-- HERE .*}$/ at .//FHEM/98_expandJSON.pm line 143.
2020.01.27 13:47:37 1: stacktrace:
2020.01.27 13:47:37 1: main::__ANON__ called by .//FHEM/98_expandJSON.pm (143)
2020.01.27 13:47:37 1: main::expandJSON_Notify called by .//FHEM/98_apptime.pm (178)
2020.01.27 13:47:37 1: main::apptime_getTiming called by .//FHEM/98_apptime.pm (138)
2020.01.27 13:47:37 1: main::CallFn called by fhem.pl (3683)
2020.01.27 13:47:37 1: main::DoTrigger called by fhem.pl (4747)
2020.01.27 13:47:37 1: main::readingsEndUpdate called by fhem.pl (4929)
2020.01.27 13:47:37 1: main::readingsSingleUpdate called by .//FHEM/10_MQTT_DEVICE.pm (249)
2020.01.27 13:47:37 1: MQTT::DEVICE::onmessage called by .//FHEM/00_MQTT.pm (535)
2020.01.27 13:47:37 1: MQTT::__ANON__ called by FHEM/GPUtils.pm (75)
2020.01.27 13:47:37 1: GPUtils::GP_ForallClients called by .//FHEM/00_MQTT.pm (545)
2020.01.27 13:47:37 1: MQTT::Read called by .//FHEM/98_apptime.pm (178)
2020.01.27 13:47:37 1: main::apptime_getTiming called by .//FHEM/98_apptime.pm (138)
2020.01.27 13:47:37 1: main::CallFn called by fhem.pl (755)
2020.01.27 13:47:37 1: PERL WARNING: Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.30), passed through in regex; marked by <-- HERE in m/^.*:STATE:.{ <-- HERE .*Wifi.*}$/ at .//FHEM/98_expandJSON.pm line 143.
2020.01.27 13:47:37 1: stacktrace:
2020.01.27 13:47:37 1: main::__ANON__ called by .//FHEM/98_expandJSON.pm (143)
2020.01.27 13:47:37 1: main::expandJSON_Notify called by .//FHEM/98_apptime.pm (178)
2020.01.27 13:47:37 1: main::apptime_getTiming called by .//FHEM/98_apptime.pm (138)
2020.01.27 13:47:37 1: main::CallFn called by fhem.pl (3683)
2020.01.27 13:47:37 1: main::DoTrigger called by fhem.pl (4747)
2020.01.27 13:47:37 1: main::readingsEndUpdate called by fhem.pl (4929)
2020.01.27 13:47:37 1: main::readingsSingleUpdate called by .//FHEM/10_MQTT_DEVICE.pm (249)
2020.01.27 13:47:37 1: MQTT::DEVICE::onmessage called by .//FHEM/00_MQTT.pm (535)
2020.01.27 13:47:37 1: MQTT::__ANON__ called by FHEM/GPUtils.pm (75)
2020.01.27 13:47:37 1: GPUtils::GP_ForallClients called by .//FHEM/00_MQTT.pm (545)
2020.01.27 13:47:37 1: MQTT::Read called by .//FHEM/98_apptime.pm (178)
2020.01.27 13:47:37 1: main::apptime_getTiming called by .//FHEM/98_apptime.pm (138)
2020.01.27 13:47:37 1: main::CallFn called by fhem.pl (755)
2020.01.27 13:47:37 1: PERL WARNING: Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.30), passed through in regex; marked by <-- HERE in m/^.*:STATE:.{ <-- HERE .*Wifi.*}$/ at .//FHEM/98_expandJSON.pm line 143.
2020.01.27 13:47:37 1: stacktrace:
2020.01.27 13:47:37 1: main::__ANON__ called by .//FHEM/98_expandJSON.pm (143)
2020.01.27 13:47:37 1: main::expandJSON_Notify called by .//FHEM/98_apptime.pm (178)
2020.01.27 13:47:37 1: main::apptime_getTiming called by .//FHEM/98_apptime.pm (138)
2020.01.27 13:47:37 1: main::CallFn called by fhem.pl (3683)
2020.01.27 13:47:37 1: main::DoTrigger called by fhem.pl (4747)
2020.01.27 13:47:37 1: main::readingsEndUpdate called by fhem.pl (4929)
2020.01.27 13:47:37 1: main::readingsSingleUpdate called by .//FHEM/10_MQTT_DEVICE.pm (249)
2020.01.27 13:47:37 1: MQTT::DEVICE::onmessage called by .//FHEM/00_MQTT.pm (535)
2020.01.27 13:47:37 1: MQTT::__ANON__ called by FHEM/GPUtils.pm (75)
2020.01.27 13:47:37 1: GPUtils::GP_ForallClients called by .//FHEM/00_MQTT.pm (545)
2020.01.27 13:47:37 1: MQTT::Read called by .//FHEM/98_apptime.pm (178)
2020.01.27 13:47:37 1: main::apptime_getTiming called by .//FHEM/98_apptime.pm (138)
2020.01.27 13:47:37 1: main::CallFn called by fhem.pl (755)
2020.01.27 13:47:37 1: PERL WARNING: Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.30), passed through in regex; marked by <-- HERE in m/^.*:Topology:.{ <-- HERE .*nodeinfo.*}$/ at .//FHEM/98_expandJSON.pm line 143.
2020.01.27 13:47:37 1: stacktrace:
2020.01.27 13:47:37 1: main::__ANON__ called by .//FHEM/98_expandJSON.pm (143)
2020.01.27 13:47:37 1: main::expandJSON_Notify called by .//FHEM/98_apptime.pm (178)
2020.01.27 13:47:37 1: main::apptime_getTiming called by .//FHEM/98_apptime.pm (138)
2020.01.27 13:47:37 1: main::CallFn called by fhem.pl (3683)
2020.01.27 13:47:37 1: main::DoTrigger called by fhem.pl (4747)
2020.01.27 13:47:37 1: main::readingsEndUpdate called by fhem.pl (4929)
2020.01.27 13:47:37 1: main::readingsSingleUpdate called by .//FHEM/10_MQTT_DEVICE.pm (249)
2020.01.27 13:47:37 1: MQTT::DEVICE::onmessage called by .//FHEM/00_MQTT.pm (535)
2020.01.27 13:47:37 1: MQTT::__ANON__ called by FHEM/GPUtils.pm (75)
2020.01.27 13:47:37 1: GPUtils::GP_ForallClients called by .//FHEM/00_MQTT.pm (545)
2020.01.27 13:47:37 1: MQTT::Read called by .//FHEM/98_apptime.pm (178)
2020.01.27 13:47:37 1: main::apptime_getTiming called by .//FHEM/98_apptime.pm (138)
2020.01.27 13:47:37 1: main::CallFn called by fhem.pl (755)
2020.01.27 13:47:37 1: PERL WARNING: Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.30), passed through in regex; marked by <-- HERE in m/^.*:Topology:.{ <-- HERE .*nodeinfo.*}$/ at .//FHEM/98_expandJSON.pm line 143.
2020.01.27 13:47:37 1: stacktrace:
2020.01.27 13:47:37 1: main::__ANON__ called by .//FHEM/98_expandJSON.pm (143)
2020.01.27 13:47:37 1: main::expandJSON_Notify called by .//FHEM/98_apptime.pm (178)
2020.01.27 13:47:37 1: main::apptime_getTiming called by .//FHEM/98_apptime.pm (138)
2020.01.27 13:47:37 1: main::CallFn called by fhem.pl (3683)
2020.01.27 13:47:37 1: main::DoTrigger called by fhem.pl (4747)
2020.01.27 13:47:37 1: main::readingsEndUpdate called by fhem.pl (4929)
2020.01.27 13:47:37 1: main::readingsSingleUpdate called by .//FHEM/10_MQTT_DEVICE.pm (249)
2020.01.27 13:47:37 1: MQTT::DEVICE::onmessage called by .//FHEM/00_MQTT.pm (535)
2020.01.27 13:47:37 1: MQTT::__ANON__ called by FHEM/GPUtils.pm (75)
2020.01.27 13:47:37 1: GPUtils::GP_ForallClients called by .//FHEM/00_MQTT.pm (545)
2020.01.27 13:47:37 1: MQTT::Read called by .//FHEM/98_apptime.pm (178)
2020.01.27 13:47:37 1: main::apptime_getTiming called by .//FHEM/98_apptime.pm (138)
2020.01.27 13:47:37 1: main::CallFn called by fhem.pl (755)
2020.01.27 13:47:37 1: PERL WARNING: Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.30), passed through in regex; marked by <-- HERE in m/^.*:SENSOR:.{ <-- HERE .*}$/ at .//FHEM/98_expandJSON.pm line 143.
2020.01.27 13:47:37 1: stacktrace:
2020.01.27 13:47:37 1: main::__ANON__ called by .//FHEM/98_expandJSON.pm (143)
2020.01.27 13:47:37 1: main::expandJSON_Notify called by .//FHEM/98_apptime.pm (178)
2020.01.27 13:47:37 1: main::apptime_getTiming called by .//FHEM/98_apptime.pm (138)
2020.01.27 13:47:37 1: main::CallFn called by fhem.pl (3683)
2020.01.27 13:47:37 1: main::DoTrigger called by fhem.pl (4747)
2020.01.27 13:47:37 1: main::readingsEndUpdate called by fhem.pl (4929)
2020.01.27 13:47:37 1: main::readingsSingleUpdate called by .//FHEM/10_MQTT_DEVICE.pm (249)
2020.01.27 13:47:37 1: MQTT::DEVICE::onmessage called by .//FHEM/00_MQTT.pm (535)
2020.01.27 13:47:37 1: MQTT::__ANON__ called by FHEM/GPUtils.pm (75)
2020.01.27 13:47:37 1: GPUtils::GP_ForallClients called by .//FHEM/00_MQTT.pm (545)
2020.01.27 13:47:37 1: MQTT::Read called by .//FHEM/98_apptime.pm (178)
2020.01.27 13:47:37 1: main::apptime_getTiming called by .//FHEM/98_apptime.pm (138)
2020.01.27 13:47:37 1: main::CallFn called by fhem.pl (755)
2020.01.27 13:47:37 1: PERL WARNING: Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.30), passed through in regex; marked by <-- HERE in m/^.*:SENSOR:.{ <-- HERE .*}$/ at .//FHEM/98_expandJSON.pm line 143.
2020.01.27 13:47:37 1: stacktrace:
2020.01.27 13:47:37 1: main::__ANON__ called by .//FHEM/98_expandJSON.pm (143)
2020.01.27 13:47:37 1: main::expandJSON_Notify called by .//FHEM/98_apptime.pm (178)
2020.01.27 13:47:37 1: main::apptime_getTiming called by .//FHEM/98_apptime.pm (138)
2020.01.27 13:47:37 1: main::CallFn called by fhem.pl (3683)
2020.01.27 13:47:37 1: main::DoTrigger called by fhem.pl (4747)
2020.01.27 13:47:37 1: main::readingsEndUpdate called by fhem.pl (4929)
2020.01.27 13:47:37 1: main::readingsSingleUpdate called by .//FHEM/10_MQTT_DEVICE.pm (249)
2020.01.27 13:47:37 1: MQTT::DEVICE::onmessage called by .//FHEM/00_MQTT.pm (535)
2020.01.27 13:47:37 1: MQTT::__ANON__ called by FHEM/GPUtils.pm (75)
2020.01.27 13:47:37 1: GPUtils::GP_ForallClients called by .//FHEM/00_MQTT.pm (545)
2020.01.27 13:47:37 1: MQTT::Read called by .//FHEM/98_apptime.pm (178)
2020.01.27 13:47:37 1: main::apptime_getTiming called by .//FHEM/98_apptime.pm (138)
2020.01.27 13:47:37 1: main::CallFn called by fhem.pl (755)
2020.01.27 13:47:37 1: PERL WARNING: Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.30), passed through in regex; marked by <-- HERE in m/^.*:STATE:.{ <-- HERE .*Wifi.*}$/ at .//FHEM/98_expandJSON.pm line 143.
2020.01.27 13:47:37 1: stacktrace:
2020.01.27 13:47:37 1: main::__ANON__ called by .//FHEM/98_expandJSON.pm (143)
2020.01.27 13:47:37 1: main::expandJSON_Notify called by .//FHEM/98_apptime.pm (178)
2020.01.27 13:47:37 1: main::apptime_getTiming called by .//FHEM/98_apptime.pm (138)
2020.01.27 13:47:37 1: main::CallFn called by fhem.pl (3683)
2020.01.27 13:47:37 1: main::DoTrigger called by fhem.pl (4747)
2020.01.27 13:47:37 1: main::readingsEndUpdate called by fhem.pl (4929)
2020.01.27 13:47:37 1: main::readingsSingleUpdate called by .//FHEM/10_MQTT_DEVICE.pm (249)
2020.01.27 13:47:37 1: MQTT::DEVICE::onmessage called by .//FHEM/00_MQTT.pm (535)
2020.01.27 13:47:37 1: MQTT::__ANON__ called by FHEM/GPUtils.pm (75)
2020.01.27 13:47:37 1: GPUtils::GP_ForallClients called by .//FHEM/00_MQTT.pm (545)
2020.01.27 13:47:37 1: MQTT::Read called by .//FHEM/98_apptime.pm (178)
2020.01.27 13:47:37 1: main::apptime_getTiming called by .//FHEM/98_apptime.pm (138)
2020.01.27 13:47:37 1: main::CallFn called by fhem.pl (755)
2020.01.27 13:47:37 1: PERL WARNING: Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.30), passed through in regex; marked by <-- HERE in m/^.*:STATE:.{ <-- HERE .*Wifi.*}$/ at .//FHEM/98_expandJSON.pm line 143.
2020.01.27 13:47:37 1: stacktrace:
2020.01.27 13:47:37 1: main::__ANON__ called by .//FHEM/98_expandJSON.pm (143)
2020.01.27 13:47:37 1: main::expandJSON_Notify called by .//FHEM/98_apptime.pm (178)
2020.01.27 13:47:37 1: main::apptime_getTiming called by .//FHEM/98_apptime.pm (138)
2020.01.27 13:47:37 1: main::CallFn called by fhem.pl (3683)
2020.01.27 13:47:37 1: main::DoTrigger called by fhem.pl (4747)
2020.01.27 13:47:37 1: main::readingsEndUpdate called by fhem.pl (4929)
2020.01.27 13:47:37 1: main::readingsSingleUpdate called by .//FHEM/10_MQTT_DEVICE.pm (249)
2020.01.27 13:47:37 1: MQTT::DEVICE::onmessage called by .//FHEM/00_MQTT.pm (535)
2020.01.27 13:47:37 1: MQTT::__ANON__ called by FHEM/GPUtils.pm (75)
2020.01.27 13:47:37 1: GPUtils::GP_ForallClients called by .//FHEM/00_MQTT.pm (545)
2020.01.27 13:47:37 1: MQTT::Read called by .//FHEM/98_apptime.pm (178)
2020.01.27 13:47:37 1: main::apptime_getTiming called by .//FHEM/98_apptime.pm (138)
2020.01.27 13:47:37 1: main::CallFn called by fhem.pl (755)
2020.01.27 13:47:37 1: PERL WARNING: Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.30), passed through in regex; marked by <-- HERE in m/^.*:Topology:.{ <-- HERE .*nodeinfo.*}$/ at .//FHEM/98_expandJSON.pm line 143.
2020.01.27 13:47:37 1: stacktrace:
2020.01.27 13:47:37 1: main::__ANON__ called by .//FHEM/98_expandJSON.pm (143)
2020.01.27 13:47:37 1: main::expandJSON_Notify called by .//FHEM/98_apptime.pm (178)
2020.01.27 13:47:37 1: main::apptime_getTiming called by .//FHEM/98_apptime.pm (138)
2020.01.27 13:47:37 1: main::CallFn called by fhem.pl (3683)
2020.01.27 13:47:37 1: main::DoTrigger called by fhem.pl (4747)
2020.01.27 13:47:37 1: main::readingsEndUpdate called by fhem.pl (4929)
2020.01.27 13:47:37 1: main::readingsSingleUpdate called by .//FHEM/10_MQTT_DEVICE.pm (249)
2020.01.27 13:47:37 1: MQTT::DEVICE::onmessage called by .//FHEM/00_MQTT.pm (535)
2020.01.27 13:47:37 1: MQTT::__ANON__ called by FHEM/GPUtils.pm (75)
2020.01.27 13:47:37 1: GPUtils::GP_ForallClients called by .//FHEM/00_MQTT.pm (545)
2020.01.27 13:47:37 1: MQTT::Read called by .//FHEM/98_apptime.pm (178)
2020.01.27 13:47:37 1: main::apptime_getTiming called by .//FHEM/98_apptime.pm (138)
2020.01.27 13:47:37 1: main::CallFn called by fhem.pl (755)
2020.01.27 13:47:37 1: PERL WARNING: Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.30), passed through in regex; marked by <-- HERE in m/^.*:Topology:.{ <-- HERE .*nodeinfo.*}$/ at .//FHEM/98_expandJSON.pm line 143.
2020.01.27 13:47:37 1: stacktrace:
2020.01.27 13:47:37 1: main::__ANON__ called by .//FHEM/98_expandJSON.pm (143)
2020.01.27 13:47:37 1: main::expandJSON_Notify called by .//FHEM/98_apptime.pm (178)
2020.01.27 13:47:37 1: main::apptime_getTiming called by .//FHEM/98_apptime.pm (138)
2020.01.27 13:47:37 1: main::CallFn called by fhem.pl (3683)
2020.01.27 13:47:37 1: main::DoTrigger called by fhem.pl (4747)
2020.01.27 13:47:37 1: main::readingsEndUpdate called by fhem.pl (4929)
2020.01.27 13:47:37 1: main::readingsSingleUpdate called by .//FHEM/10_MQTT_DEVICE.pm (249)
2020.01.27 13:47:37 1: MQTT::DEVICE::onmessage called by .//FHEM/00_MQTT.pm (535)
2020.01.27 13:47:37 1: MQTT::__ANON__ called by FHEM/GPUtils.pm (75)
2020.01.27 13:47:37 1: GPUtils::GP_ForallClients called by .//FHEM/00_MQTT.pm (545)
2020.01.27 13:47:37 1: MQTT::Read called by .//FHEM/98_apptime.pm (178)
2020.01.27 13:47:37 1: main::apptime_getTiming called by .//FHEM/98_apptime.pm (138)
2020.01.27 13:47:37 1: main::CallFn called by fhem.pl (755)
Hast Du in einer MQTT Definition zufällig .*:SENSOR: irgendwo stehen?
Vermutlich ist das nicht in der MQTT-Definition, sondern in der vom expandJSON-Device.
Das mit den Klammern hatten wir doch neulich schon mal (bei einem ganz anderen Modul?), halft da nicht escapen?
.*:SENSOR:.\{.*\}
oder
.*:SENSOR:.[{].*[}]
Hab's gefunden, sollte beides gehen, evtl. reicht es, die erste Klammer zu maskieren: https://wiki.fhem.de/w/index.php?title=Sonoff&diff=prev&oldid=31401
(https://wiki.fhem.de/w/index.php?title=Sonoff&diff=prev&oldid=31401)
Evtl. wäre es aber hilfreich, wenn der Modulautor das in die cref packt (hab nicht nachgesehen, was da steht...).
Jepp da musste man escapen. Auf jeden Fall sollte sich das der Modulauthor anschauen. Ab Version 30 soll es wohl kein Warning mehr sein sondern schon ein Error
Hallo,
vielen Dank, das Escapen der 1. geschweiften Klammer mit eckigen Klammern hat funktioniert, also so ... [{] ...
Es gibt noch eine weitere ähnliche Meldung, die ich auch heute morgen im Forum geposted habe:
2020.01.27 08:23:24 1: PERL WARNING: Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.32), passed through in regex; marked by <-- HERE in m/^"?(\d+)"?:({ <-- HERE .+})$/ at .//FHEM/70_Pushsafer.pm line 369, <$fh> line 19.
Vielleicht weiß da auch jemand Bescheid?
Viele Grüße Gisbert
stacktrace ... :)
Ich behaupte das kommt vom Pushsafer Modul. Soltte also im entsprechenden Thread gemeldet werden.
my %devices = grep { defined($_) } map { /^"?(\d+)"?:({.+})$/ ? ($1 => $2) : undef } split(",", $1);
Ja das passt mit Pushsafer
Maintainer ist Markus
FHEM/70_Pushsafer.pm markusbloch Unterstützende Dienste
Zitat von: herrmannj am 27 Januar 2020, 14:59:25
stacktrace ... :)
Zustimmung...!
Zitat von: CoolTux am 27 Januar 2020, 15:00:22
Ich behaupte das kommt vom Pushsafer Modul. Soltte also im entsprechenden Thread gemeldet werden.
Glaskugel sagt: Stimmt vermutlich, und der Fix sollte analog auch bei diesem Modul funktionieren, wir hatten das auch bei expandJSON "irgendwo geklaut"...
Was mich noch irritiert: Wo kommen eigentlich diese doppelten "//" her:
Zitatat .//FHEM/70_Pushsafer.pm line 369
das eine '{' (literal) neuerdings maskiert werden möchte ist interessant. Allerdings würde ich das eher so empfehlen '\{'. Wenn schon, dann richtig. Die '[{]' geht zwar, aber nur weil die geschweifte Klammer damit in eine Character Klasse wandert. Wer weiß ob da nicht in kommenden perl Versionen auch maskiert werden muss.
Hallo hermannj,
ich werde den Ausdruck zu '\{' abändern.
Für Pushsafer habe ich bereits den Modulautor informiert.
Warten wir dann mal ab, was er dazu sagt.
Viele Grüße Gisbert
Zitat von: herrmannj am 27 Januar 2020, 15:10:42
das eine '{' (literal) neuerdings maskiert werden möchte ist interessant. Allerdings würde ich das eher so empfehlen '\{'. Wenn schon, dann richtig. Die '[{]' geht zwar, aber nur weil die geschweifte Klammer damit in eine Character Klasse wandert. Wer weiß ob da nicht in kommenden perl Versionen auch maskiert werden muss.
An sich gebe ich dir recht; allerdings habe ich dunkel in Erinnerung, dass ich auch etwas irritiert war, als damals die Lösung mit den [] gerade der Fix war, der "irgendwo auf den Perl-Seiten" eher als der "offizielle" Fix zu firmieren schien. Leider finde ich die betreffende Fundstelle nicht mehr, aber die Suche nach
ZitatPERL WARNING: Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.32)
liefert einige Treffer, und ich glaube ehrlich gesagt nicht, dass das überall schon gefixt ist...
tricky. btw "offizieller fix" würde ich vielleicht nicht sagen, weil ist ja nichts kaputt sondern die pcre ändert ihre specs.
Hier ist was dazu: https://www.nntp.perl.org/group/perl.perl5.porters/2012/11/msg195425.html
Beides scheint zu funktionieren ('[]' und '\'). In dem Link oben werden nAn nur '\' diskutiert. Ich schlage das auch vor weil:
escapen per standard -> '\{',
escapen per "trick" -> '[{]'
Will aber jetzt auch keine philosophische Betrachtung starten.