perl / Umlaute ersetzen

Hans Moser <[email protected]>
Newsgroups gmane.linux.suse.programming
Message-ID <[email protected]>
Hallo!

Ein Perl-Skript macht LDAP-Abfragen und schreibt das Ergebnis 
aufbereitet in Dateien, die später in der bash aufgerufen werden.

Ein Attribut (uid) enthält Umlaute. Die werden (soweit ich weiß) in 
UTF-8 ausgegeben und auch so in die Datei geschrieben.
Für die Verarbeitung in der bash darf an dieser Stelle aber kein Umlaut 
stehen (das Programm, das in der bash aufgerufen wird, kann damit nicht 
umgehen).

Das Attribut uid wird in $du_name gespeichert und enthält z.B. den Wert 
"SGlückspilz".

Das folgende Bsp. (google-Fund) macht es nicht.

my %UMLAUTE = ( 'Ä' => 'Ae', 'Ö' => 'Oe', 'Ü' => 'Ue', 'ä' => 'ae', 'ö' 
=> 'oe', 'ü' => 'ue' );
my @UMLKEYS = join("|", keys(%UMLAUTE));
$du_name =~ s/(@UMLKEYS)/$UMLAUTE{$1}/g;

$du_name bleibt wie es ist, mit Umlauten. :(


Hans
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.