[Dresden-pm] Problem mit Sonderzeichen beim Suchen / Ersetzen

Andreas Kunert akunert at main-rheiner.de
Fre Jul 11 05:40:51 CDT 2003


Hallo,

folgendes Problem erwartet eine Lösung.
Ich bekomme eine Datei daten.txt im mac format. Diese recode ich in 
latin1 und erhalte dabei in der Datei einige Sonderzeichen, die ich 
gerne erstzen würde. Speziell sind es in diesem einfache 
Anführungszeichen unten.
Ich habe mir ein kleines Script gebastelt, welches erstmal alle 
bekannten Zeichen rausfiltert und dann für den rest zeichenweise den  
Wert zurückgibt.

---- schnipp -----
for($x=0;$x lt length($zeile);$x++){
        $subzeile = substr($zeile,$x,1);      
        print "\tSubzeile:  ".ord($subzeile)."\n";
    }
------- schnipp -------
Sicher nicht die eleganteste Lösung, reicht aber erstmal für das, was 
ich will.
Als Ausgabe bekomme ich jetzt beispielsweise zurück
---------- schnipp --------
        Subzeile:  208
        Subzeile:  139
        Subzeile:  63
        Subzeile:  150
        Subzeile:  144
-------- schnipp -------
Für meinen Parser habe ich eine kleine Funktion geschrieben, die den 
übergebenen Text parsen soll und die Sonderzeichen ersetzen soll.
-------- schnipp ------
$text =~ s/â/\'/g;
-------- schnipp -------

Leider klappt es nicht so, wie ich es möchte. Gibt es eine Möglichkeit 
in Perl, die es ermöglicht, es in der Art zu lösen?

$text =~ s/ord(144)/'/g;

Vielen Dank für einen Tipp oder Lösungsansatz.

mfg
Andreas