Da ich seit Ewigkeiten nichts mehr mit Perl oder regex zu tun hatte, habe ich nun wohl auch noch die paar Grundlagen vergessen die ich mal kannte.
my $stday = ReadingsVal("Statistik_dummy","Tag",0);
my @daten = split(/ /,$stday);
my $tag_spl = $daten[0]; #tag
fhem "setreading Statistik_dummy Tag_split $tag_spl";
damit splitte ich solch einen Datensatz auf:
8.76589999999999: 00:00:00 8.76589999999999_Count: 1 (since: 2019-10-20_17:19:26)
Ergebnis ist dann:
Tag_split 8.76589999999999:
Das hätte ich gerne ohne den störenden ":"
Irgendwie bekomme ich den nicht "abgeschnitten", bin da aber auch schon seit längeren nicht mehr in der Materie.
VG franky08
Versuch's mal mit
my $tag_spl = chop($daten[0]); #tag
Ich hätte folgendes anzubieten:
my $stday = ReadingsVal("Statistik_dummy","Tag",0);
$stday = s/(\d+.\d+):\s+.*/$1/;
fhem "setreading Statistik_dummy Tag_split $stday";
Nicht getestet, aber sollte tun.
Grüße,
Heiko
oder anstatt
Zitatmy @daten = split(/ /,$stday);
my @daten = split(/:/,$stday);(wobei Heiko natürlich die schönere Lösung präsentiert) :)
my @daten = split(/:/,$stday);
das hatte ich schon, habe mich aber vertippt und noch ein Leerzeichen mit drinne und daran ist es wohl gescheitert :-(
Danke für die Tipp`s