Thread s/// vs. y/// Unterschied? (10 answers)
Opened by pktm at 2005-11-14 21:29

Optalamia
 2005-11-15 15:58
#60155 #60155
User since
2003-10-01
50 Artikel
BenutzerIn
[Homepage] [default_avatar]
Beispiel:

y/aou/äöü/
ersetzt alle a durch ä, alle o durch ö und alle u durch ü

Ist z.B. praktisch bei Anpassung zwischen ANSI und ASCII-Datensatz.
Also wenn man Texte auf der Windows-Kommandozeile ausgeben will.
Denn da werden "Sonderzeichen" anders ausgegeben als gewollt.
Um eine ordentliche Anzeige zu haben, habe ich eine Funktion zum Ersetzen geschrieben.
(vielleicht habe ich das Rad auch neu erfunden :o)

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
sub ansi2ascii {
$_ = $_[0];
y/Ä/´/; # unvollständig
y/Ü/¨/;
y/ß/á/;
y/è/¦/;
y/È/Ô/;
y/Ê/Ò/;
y/Í/Ö/;
y/Ì/Þ/;
y/Î/×/;
y/í/¡/;
y/Ó/à/;
y/Ò/ã/;
y/Ô/â/;
y/Ú/é/;
y/Ù/ë/;
y/Û/ê/;
y/ú/£/;
y/õ/ä/;

return $_;
}


Dies ist lang, aber übersichtlich.
Könnte man auch so schreiben:

Code: (dl )
  y/ÄÜÔ/´¨â/;     # hier nur 3 Zeichen ersetzt



ACHTUNG, hier im Forum lassen sich viele Zeichen nicht anzeigen, deshalt hier eine Kopie:
http://beauty.online.de/pub/ansi2ascii.pl.txt
Oder per mail zuschicken lassen: beautyod(ät)gmx.de

Forum-Schlüsselwörter: ANSI ASCII OEM Zeichensatz DOS Kommandozeile

View full thread s/// vs. y/// Unterschied?