You need to define a locale that contains ä/ö/ü for \w to include them. You need to do this even for UTF-8. UTF-8 is just a standard way of representing characters, not the set of characters that can make up words in a particular language.
use locale; use POSIX 'locale_h'; my $loc = 'de_DE.utf8'; # German locale, for example. Run 'locale -a' + to get the exact locale name setlocale(LC_CTYPE, $loc) or die "Invalid locale $loc";
Either that, or use this little trick off of my home node: [A-Za-zÀ-ÿœŒ] instead of \w :)
I probably should add that the German locale will likely not match 'ë', since it does not exist in German. Maybe Dutch or French...
--
Damon Allen Davison
http://www.allolex.net
In reply to Re: problems matching umlauts in env vars
by allolex
in thread problems matching umlauts in env vars
by december
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |