Robert Allerstorfer: pattern matching mit umlauten

Beitrag lesen

Hi,

bin auf ein problem mit folgendem perl code gestossen:

#!/usr/bin/perl
print "Content-type: text/html\n\n";
$_ = "KLÄNGE Klänge";
$term = "e";
$n = @matches = /$term/ig;
print "$term kommt in "$_" $n mal vor";

Dieses kleine CGI-script gibt völlig richtig aus:
e kommt in "KLÄNGE Klänge" 2 mal vor
da das matching case-insensitiv erfolgt.
Nimmt man statt e allerdings den Umlaut ä, also $term = "ä", erfolgt die suche seltsamerweise nicht mehr case-insensitive, sodass nur das kleine ä, nicht aber das große Ä gefunden wird. =>
ä kommt in "KLÄNGE Klänge" 1 mal vor

Ist das ein Perl-fehler oder kennt jemand einen workaround?

danke,
rob.