Thread Zu perlfaq: "How can I make \w match national character sets?"
(10 answers)
Opened by Gast at 2009-10-17 18:05 Guest Gast Ja, klingt richtig. Man kann allerdings auch binmode nehmen, dann schreibt sich das say leichter, siehe unten. Aber warum willst Du eigentlich "use locale" benutzen? Ich schrieb ja oben, dass es ohne einfacher geht: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 #!/usr/bin/perl -w use 5.010; use strict; use utf8; my $string = 'abcäöüß'; # Achtung, der Quelltext muss utf8-kodiert sein my @match = $string =~ /[[:word:]]/g; if (${^UTF8LOCALE}) { # Erkennt, ob utf8 ausgegeben werden soll # Ausgaben nach STDOUT werden nach utf8 konvertiert binmode STDOUT, ':encoding(utf8)'; } say "@match"; # a b c ä ö ü ß (Ich habe hier trotzdem [[:word:]] statt \w benutzt, da \w offenbar ab 5.12 hier etwas anderes tun soll.) Lieblingsmodule: IPC::System::Simple, Path::Class
|