Komisches Perl-Problem nach Upgrade FB 7390, 6.23 (Frank) \d wird nicht erkannt

Begonnen von Jo25, 16 Februar 2015, 19:51:04

Vorheriges Thema - Nächstes Thema

Jo25

Hallo zusammen,

ich habe meine FB auf FritzOS-Version 6.23 upgegraded - vielen Dank nochmal an Frank für das modifizierte Image!

Nachdem ich die SSL-Probleme behoben habe (SSL-lib kopiert), bin ich noch über ein sehr merkwürdiges anderes Problem gestolpert.
Ich setze Kalender-gesteuert meine Homematic-Heizungsaktoren auf bestimmte Werte (hat früher funktioniert) und habe folgendes im Log gefunden:

2015.02.16 17:47:06 3: set heizung_wz_Climate desired-temp 21.0 : Invalid temperature 21.0, choose one of on off 6.0 6.5 7.0 7.5 8.0 8.5 9.0 9.5 10.0 10.5 11.0 11.5 12.0 12.5 13.0 13.5 14.0 14.5 15.0 15.5 16.0 16.5 17.0 17.5 18.0 18.5 19.0 19.5 20.0 20.5 21.0 21.5 22.0 22.5 23.0 23.5 24.0 24.5 25.0 25.5 26.0 26.5 27.0 27.5 28.0 28.5 29.0 29.5 30.0

Nachdem ich die Stelle in 10_CUL_HM.pm gefunden habe, hat folgendes geholfen:
Alter Code, wirft Fehlermeldung:

if(!($val eq "on" || $val eq "off" ||
     ($val =~ m/^\d*\.?\d+$/ && $val >= 6 && $val <= 30))) {
    my @list = map { ($_.".0", $_+0.5) } (6..30);
    pop @list;
    return "Invalid temperature $val, choose one of on off " . join(" ",@list);
  }

Mein Code, Fehlerprüfung schlägt nicht mehr an:

  if(!($val eq "on" || $val eq "off" ||
      ($val =~ m/^[0-9]*\.?[0-9]+$/ && $val >= 6 && $val <= 30))) {
    my @list = map { ($_.".0", $_+0.5) } (6..30);
    pop @list;
    return "Invalid temperature $val, choose one of on off " . join(" ",@list);
  }

\d wird in der Regex nicht erkannt [0-9] jedoch schon?

Woher kommt den sowas?

Kann mir jemand helfen?

Vielen Dank und viele Grüße,

Johannes