[Cologne-pm] Brauche mal ne schnelle Hilfe zu Umlauten

Bernd Bornhausen bornhausen at web.de
Thu Feb 5 02:37:08 CST 2004


Hallo,
schon mal vielen vielen Dank für die schnelle Hilfe, aber ich denke dass
mein Problem am Betriebssystem liegt bzw. Terminal bzw. vi.
Ich schaffe es nicht, dass mein Terminal ein ä anzeigt, und ich das im
vi auch eingeben kann..entweder schreibt das Terminal ein Quadrat, oder
vi irgendwas von A1/4...wenn ich mit perl die Datei einlese, und es
vorher geschafft habe meinem vi das ä beizubringen*g*, dann findet perl
kein ä im Text, obwohl welche drin sind. Ich muss wohl bei meinen
Installations Versuchen mein Redhat durcheinander gebracht haben.
Ich denke das Problem liegt daran, dass ich RedHat auf deutsch
installiert habe, dann den Xemian Desktop drauf gepackt habe, und seid
dem hatte ich keine Umlaute mehr in den Menues. Also hab ich die
Standard Sprache vom Desktop auf englisch gesetzt, und jetzt hab ich den
Salat ;)

Gruss
Bernd


On Thu, 2004-02-05 at 07:46, A. Pagaltzis wrote:
> * Michael Lamertz <mike at lamertz.net> [2004-02-03 14:44]:
> > # Das hier geht leider nicht in einem Schritt, da qr ein Quote-Operator
> > # ist, und darin zwar Variablen, aber leider kein Code interpoliert
> > # wird:
> 
> Wenn's um's Prinzip geht, geht's doch:
> 
>     our $umlauts = qr/[@{[ join ''. keys %map ]}]/;
> 
> > our $umlauts = '[' . join('', keys %uml) . ']';
> > $umlauts = qr($umlauts);
> 
> Aber das ist dann doch lesbarer. Wenn es andererseits wirklich
> auf Wartbarkeit ankommt schreibe ich das wahrscheinlich so:
> 
>     our $umlauts = do {
>         my $mapped_chars = join('', keys %map);
>         qr/([$mapped_chars])/;
>     };
> 
> Bei Zuweisungen mit Hilfe von do { } und my- Variablen
> irgendwelche Zwischenschritte zu isolieren tue ich übrigens
> mittlerweile gerne und oft; ich finde, es schafft einen schönen
> Rahmen für ein isoliertes Stückchen Code.
> 
> > Btw:  Version 0.1 sah so aus:
> > 
> >     s/(.)/$map{$1} || $1/ge
> > 
> > Benchmark.pm ist unser Freund:
> > 
> > Whoa!  Faktor 10.  Da werde ich mich doch nicht ueber eine
> > Variable mehr aufregen :)
> 
> Nimmt wenig Wunder, wenn du bedenkst das diese Variante
> grundsätzlich alle Zeichen angefasst hat und dass Umlaute selten
> sind.
> 
> Ausserdem hast du den Geschwindigkeitsvorteil von qr// nur dann,
> wenn im Ausdruck nichts aber auch *garnichts* anderes als die
> Variable drinsteht. Bei deinem s/($umlauts)/../ muss aufgrund der
> Klammern der Ausdruck neukompiliert werden. Immerhin passiert das
> bei neueren Perl-Versionen trotz der Variablen nicht mehr bei
> *jedem* Schleifendurchlauf, aber geprüft werden muss trotzdem.
> Also pack die Klammern wie ich in's qr// und nimm sie unten raus.
> Benchmark.pm dürfte so noch ein paar Iterationen/Sek mehr messen.
> 
> Übringens verbrauchen my-Variablen ein paar Takte weniger als
> Paketvariablen. Wird schon am Output von B::Terse deutlich.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://mail.pm.org/pipermail/cologne-pm/attachments/20040205/b4c02c60/attachment.bin


More information about the Cologne-pm mailing list