Thread Regex-Muster als Variable: Dezimalpunkt ersetzen
(9 answers)
Opened by qwe123qwe at 2020-12-25 11:41 2020-12-25T10:41:15 qwe123qwe Richtig! Das liegt daran, dass die Substitution ihre eigenen Trefferlisten haben könnte (die hier nicht verwendet werden) und Perl deshalb Trefferlisten aus vorherigen Regex-Auswertungen eliminiert. Es gibt kein $9 in s/\.//g. Die einfachste Abhilfe ist, die Treffer aus der Regex (die Du wesentlich lesbarer schreiben könntest, aber darum geht's hier nicht) in einer eigenen Variable zu bunkern, dann ist sie sicher: Code (perl): (dl
)
1 2 3 while (my @digits = $seite =~ /$muster/g) { # In diesem while-Block sollte $seite gekürzt werden, sonst # riecht das nach Endlosschleife Code (perl): (dl
)
1 2 3 4 5 $daten[6] = $digits[7]; my $mitpunkt = $daten[6]; $mitpunkt =~ s/\.//g; $daten[6] = $mitpunkt; $daten[7] = $digits[8]; |