Mit der sub von yersinia hab ich es z.B. wie folgt umgesetzt:
brightness 3455.77
userReadings Brightness { tausender((split(/\./, ReadingsVal("HM_6ABA70","brightness", 5000.0)))[0]) }
Brightness 3.455
sub tausender {
my $zahl = shift;
my $text = reverse $zahl;
$text =~ s/\./\,/g; #replace decimal point by decimal comma
$text =~ s/(\d\d\d)(?=\d)(?!\d*\,)/$1./g;
return scalar reverse $text;
}
P.S. Das split() entfernt die Nachkommastellen:
split(/\./, ... [0])