Welche perl Version als Mindeststandard?

Begonnen von betateilchen, 18 Januar 2017, 14:06:31

Vorheriges Thema - Nächstes Thema

betateilchen

Hallo allerseits,

in den FAQ zu fhem steht perl >= 5.6. Das halte ich nicht mehr für sinnvoll.
Bereits vor zwei Jahren gab es einen Thread, in dem wir auf Probleme mit perl-Sprachbestandteilen von 5.10 stießen, die in älteren Versionen nicht zur Verfügung stehen.

https://forum.fhem.de/index.php/topic,33909.0.html

Darin war schon die Rede von 5.10 und 5.12 als Untergrenze.

Aufgekommen ist das Thema hier: https://forum.fhem.de/index.php/topic,65027.0.html

Vielleicht sollte man wirklich beim nächsten Major Release eine neuere perl Version als Mindeststandard vorgeben.
perl 5.8 (wie im aktuellen Problemthread) finde ich schon problematisch.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

rudolfkoenig

#1
Im Prinzip hast du Recht, aber:

1. das Problem sehe ich aber nicht wirklich als Problem
- die meisten Module funktionieren vmtl auch mit "uralten" Perl-Versionen (fuer mich ist das 5.8.3+)
- die meisten verwenden Debian, deswegen haben sie eine relativ aktuelle Perl Version.
- ich habe bisher nicht erlebt, dass FHEM wg. einer bestimmten Perl-Version nicht lauffaehig war. Fehlende Bibliotheken ist eine andere Baustelle.

2. eine minimale Perl-Version durchzusetzen ist schwer:
- da manche NAS/FritzBox/etc nur eine alte Perl Version haben, muesste man da den kleinsten gemeinsamen Nenner nehmen, und jeden Modulautor zwingen, diese Perl Version zu verwenden. Auch wenn bestimmte Module auf diesem Plattform sinnlos sind.

Ich versuche es pragmatischer:
- das FHEM "Core" sollte moeglichst ueberall funktionieren (ich teste es mit 5.16/20/24, wuerde aber erwarten, dass ab 5.8.3 alles tut)
- wenn ein Modul eine bestimmte Perl-Version benoetigt, dann sollten Benutzer+Autor einigen, ob man auf ein Perl-Feature verzichtet, oder der Benutzer Perl erneuert.

Nachtrag: offensichtlich habe ich deinen verlinkten Beispiel verdraengt.
An dem Prinzip hat sich aber nichts geaendert.

betateilchen

Können wir uns wenigstens darauf einigen, dass die FAQ mal einer Überprüfung auf Aktualität bedarf?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

rudolfkoenig

Eigentlich gehoert FAQ ud HOWTO abgeschafft, da beide komplett veraltet sind. Das sind meine Versuche aus der vor-wiki Zeit gewesen, um Wissen, was nicht ins commandref passt, zu dokumentieren.

betateilchen

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

rudolfkoenig

Ich habe gerade mit perlbrew perl 5.8.9 und 5.10.1 installiert: ein "Core"-FHEM (telnet, FHEMWEB, notify, watchdog, dummy) laeuft mit beiden. Bei 5.8.9 ist eine Inkonsistenz aufgefallen (fhem.pl hat use Errno qw(:POSIX);, 99_Utils.pm dagegen use POSIX;), das habe ich korrigiert. Jetzt gibt es auch keine Warnungen.

fhem.cfg. demo laeuft mit 5.10.1 ohne Warnungen, 5.8.9 deaktiviert LightScene, RESIDENTS, GUEST und ROOMMATE

Das ist als Info fuer Leute mit Alten-Perl-Zwang gedacht, nicht als Vorschrift fuer Entwickler.