seth_not@home: Punkt gegen Komma tauschen mit Nebenbedingungen

Beitrag lesen

gudn tach!

verarbeitende String sieht z.B. wie folgt aus

my $test="192.168.34.2 <td>-15.34 %</td> +5.644 3.2<p> 13.12.2005</p>";

<scnr>
lade die entsprechende datei in vim und tippe
:%s/./,/gc
nnnyyynn
</scnr>

wie Siechfred schon sagte, muesstest du zuerst genau festlegen, was (in deinem fall) (k)eine zahl ist.

ungetestetes beispiel:
$test=~s/([ +-]\d+).(\d+(\D{2}|\D$|$))/$1,$2/g;

vor der zahl darf hier nur ein [ +-] stehen.
nach der zahl muss entweder
a) die zeile zu ende sein oder
b) es duerfen eine nicht-ziffer und dann EOL stehen oder
c) es duerfen zwei nicht-ziffern stehen.

prost
seth