FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Thema gestartet von: Gisbert am 27 Januar 2020, 10:05:05

Titel: [gelöst] PERL WARNING bei 98_expandJSON.pm
Beitrag von: Gisbert am 27 Januar 2020, 10:05:05
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

Titel: Antw:PERL WARNING bei 98_expandJSON.pm
Beitrag von: Gisbert am 27 Januar 2020, 10:13:10
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.
Titel: Antw:PERL WARNING bei 98_expandJSON.pm
Beitrag von: herrmannj am 27 Januar 2020, 11:15:48
Schalte mal stacktrace ein um zu sehen wo das entsteht
Titel: Antw:PERL WARNING bei 98_expandJSON.pm
Beitrag von: Gisbert am 27 Januar 2020, 13:50:43
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)
Titel: Antw:PERL WARNING bei 98_expandJSON.pm
Beitrag von: CoolTux am 27 Januar 2020, 14:12:53
Hast Du in einer MQTT Definition zufällig .*:SENSOR: irgendwo stehen?
Titel: Antw:PERL WARNING bei 98_expandJSON.pm
Beitrag von: Beta-User am 27 Januar 2020, 14:22:44
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...).
Titel: Antw:PERL WARNING bei 98_expandJSON.pm
Beitrag von: CoolTux am 27 Januar 2020, 14:27:13
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
Titel: Antw:PERL WARNING bei 98_expandJSON.pm
Beitrag von: Gisbert am 27 Januar 2020, 14:49:47
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
Titel: Antw:PERL WARNING bei 98_expandJSON.pm
Beitrag von: herrmannj am 27 Januar 2020, 14:59:25
stacktrace ... :)
Titel: Antw:PERL WARNING bei 98_expandJSON.pm
Beitrag von: CoolTux am 27 Januar 2020, 15:00:22
Ich behaupte das kommt vom Pushsafer Modul. Soltte also im entsprechenden Thread gemeldet werden.
Titel: Antw:PERL WARNING bei 98_expandJSON.pm
Beitrag von: CoolTux am 27 Januar 2020, 15:01:48
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
Titel: Antw:PERL WARNING bei 98_expandJSON.pm
Beitrag von: Beta-User am 27 Januar 2020, 15:03:34
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
Titel: Antw:PERL WARNING bei 98_expandJSON.pm
Beitrag 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.
Titel: Antw:PERL WARNING bei 98_expandJSON.pm
Beitrag von: Gisbert am 27 Januar 2020, 15:27:31
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
Titel: Antw:PERL WARNING bei 98_expandJSON.pm
Beitrag von: Beta-User am 27 Januar 2020, 15:30:41
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...
Titel: Antw:PERL WARNING bei 98_expandJSON.pm
Beitrag von: herrmannj am 27 Januar 2020, 16:09:17
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.