Plot format regex Seltsamheiten

Begonnen von warloxx, 17 Oktober 2016, 16:26:35

Vorheriges Thema - Nächstes Thema

warloxx

Ich habe ein Log mit folgenden Daten:


2016-10-17_10:41:36 MyTestSonsor T:23.1°C H:43.5% B:2.65V
2016-10-17_10:44:32 MyTestSonsor T:23.2°C H:43.3% B:2.65V
2016-10-17_10:46:00 MyTestSonsor T:23.3°C H:43.7% B:2.65V
2016-10-17_10:48:57 MyTestSonsor T:23.4°C H:43.5% B:2.65V


Um die die Daten aus den Spalten zu erhalten habe ich folgende Regex Funktion verwendet:
$fld[2]=~s/.:([\d\.]+)[^\d]+/$1/g;
Den Index von $fld natürlich für die Spalten 4 und 5 angepasst.
Jedoch bekomme ich nur eine Linie mit dem Wert von 1.
Mit folgender Funktion funktioniert es jedoch:
$fld[2]=~m/.:([\d\.]+)[^\d]+/;$fld[2]=$1;
Warum funktioniert die erste Funktion nicht, die 2. jedoch?
Eigenheiten in Perl? MMn sollte das äquivalent sein. Ich habe das hier auch einmal erfolgreich getestet: http://codepad.org/Hac5VddZ

Würde gerne die erste Lösung verwenden können da für die Zukunft nur einmal ein Index richtig angegeben werden muss.