Da gestern Abend meine DB den Geist aufgegeben hat, bin ich auch ein Ubuntu System umgezogen, hatte ich in weiser Vorraussicht schon eingerichtet. Auf dem Ubuntu System läuft Perl in der Version 5.22.1. Das führt zu massiven Meldungen im Log, unter Wheezy hatte ich diese Meldungen definitiv nicht.
2016.05.22 09:23:33 1: PERL WARNING: Smartmatch is experimental at (eval 38845) line 1.
2016.05.22 09:23:33 3: eval: my $SELF='Klima_Schalter_ny';my $EVENT='battery: ok';my $NAME='TH_Sensor_WZ';my $EVTPART0='battery:';my $TYPE='CUL_HM';my $EVTPART1='ok';{if ((ReadingsVal("TH_Sensor_WZ","temperature",99)>25) && ($month ~~ [4..8]) && ($hour ~~ [6..16])) {
fhem("attr Schalter_Klima_an disable 0; attr Klima_Schalter_an2 disable 0")
}
else {
fhem("attr Schalter_Klima_an disable 1; attr Klima_Schalter_an2 disable 1")
}
Smartmatch is experimental, wie könnte ich das abstellen?
Gefunden habe ich das:
ZitatNutzung von no warnings 'experimental::smartmatch'; => funktioniert allerdings nur ab Perl 5.18
VG
Frank
ZitatSmartmatch is experimental, wie könnte ich das abstellen?
Z.Bsp. indem man kein smartmatch verwendet.
Also $month ~~ [4..8] nach ($month>=4 && $month <=8) umbauen.
Zitat von: franky08 am 22 Mai 2016, 09:28:31
funktioniert allerdings nur ab Perl 5.18
Da 5.22.1 > 5.18 ist sollte es doch funktionieren. Oder übersehe ich gerade etwas?
Damit sich aber Perl Versionen kleiner als 5.18 nicht über das "no warnungs smartmatch" beschweren, kannst Du auch:
no if $] >= 5.017011, warnings => 'experimental::smartmatch';
Nein, du hast nichts übersehen, ich habe nur das komplette Zitat gepostet ;)
VG
Frank
Das Zitat stammt glaube von mir und dürfte ohne Probleme funktionieren. Ich hatte nur ne Meldung wenn Perlversion kleiner wie 5.18 war.
Hab es aus dem Netz:
http://www.nerdsheaven.de/magazin/artikel/tipps-und-tricks/perl-warning-smartmatch-is-experimental/
Da ich ~~ sehr oft verwende, habe ich einiges umzubauen ???
VG
Frank
Ach so. Ok. Hatte das selbe Problem nämlich beim UWZ Modul.
Grüße