FHEM Forum

FHEM => Sonstiges => Thema gestartet von: rudolfkoenig am 19 November 2015, 08:55:01

Titel: PERL WARNING: ...at ./FHEM/98_help.pm line 29.
Beitrag von: rudolfkoenig am 19 November 2015, 08:55:01
Kommt, wenn ich nur ? oder help eingebe.
Titel: Antw:PERL WARNING: ...at ./FHEM/98_help.pm line 29.
Beitrag von: rudolfkoenig am 19 November 2015, 09:00:29
Und
ZitatPERL WARNING: Use of uninitialized value $FW_ME in concatenation (.) or string at ./FHEM/98_help.pm line 93.
gibt es, wenn ich nur im telnet unterwegs bin, und help devspec eintippe.
Da fehlt wohl eine Pruefung auf das $cl Argument von CommandHelp.
Titel: Antw:PERL WARNING: ...at ./FHEM/98_help.pm line 29.
Beitrag von: Markus Bloch am 20 November 2015, 23:15:24
Hallo betateilchen/Rudi,

da ich es verbockt habe mit meinem Patch, hier auch die Lösung als Diff.

Desweiteren werden im telnet-Output mehrfache newlines welche mehr als 2 Leerzeilen umfassen auf 2 Leerzeilen begrenzt.

Viele Grüße

Markus
Titel: Antw:PERL WARNING: ...at ./FHEM/98_help.pm line 29.
Beitrag von: rudolfkoenig am 20 November 2015, 23:17:35
Das sollte heissen "Hallo betateilchen"... :)
Titel: Antw:PERL WARNING: ...at ./FHEM/98_help.pm line 29.
Beitrag von: Markus Bloch am 22 November 2015, 00:17:47
Hallo Rudi,

betateilchen hat mir die Erlaubnis gegeben, die Änderungen während seiner Abwesenheit als Amtshilfe durchzuführen.

Die Warnings sind damit gefixt. Desweiteren habe ich die telnet-Output-Regexp's optimiert und verkleinert. Da ich zum testen der Fixes für die Warnings entsprechend den Telnet-Output nutzen musste, habe ich zusätzlich folgende Regexp's eingebaut:

- Ersetzung von   => Leerzeichen
- Mehr als 3 zusammenhängende Zeilenumbrüche (mit optionalen Leerzeichen) werden auf 3 Zeilenumbrüche gekürzt.
- Leerzeilen/-zeichen am Anfang und Ende des Outputs werden entfernt

Folgende Änderungen an bestehenden Regexp's wurden durchgeführt:
- öffnender und schließende Tags die entfernt werden wurden auf eine Regexp reduziert (mit ? Quantifizierer => 0 oder 1 mal vorhanden)
- generellere Regexp um alle verbleibenden HTML Tags zu entfernen (<a ..>,<table>,<code>,<pre>, ....), dadurch nur eine Regexp statt 2 pro HTML-Tag

Viele Grüße

Markus
Titel: Antw:PERL WARNING: ...at ./FHEM/98_help.pm line 29.
Beitrag von: betateilchen am 22 November 2015, 10:17:00
Es gab irgendeinen Grund, warum ich das regexen der html Tags immer in zwei Schritten eingebaut hatte, aber ich weiss nicht mehr, warum. Irgendwas hat nicht funktioniert, wenn es zusammengefasst war...

Titel: Antw:PERL WARNING: ...at ./FHEM/98_help.pm line 29.
Beitrag von: Markus Bloch am 22 November 2015, 10:38:22
Ich habe es ausgiebig getestet mit verschiedensten Modulen und konnte kein verändertes Verhalten feststellen. Die generelle Regexp wird erst zum Schluss angewendet nachdem alle spezielleren Tag-Ersetzungen durchgeführt worden sind.