Wenn ich dein setlocale(LC_CTYPE, "de_DE"); noch einfüge, bekomme ich einen Internal Server Error :-(
Neben dem Tipp von ALexander, wäre vieleicht auch ein
CGI::Carp qw(fatalsToBrowser) sinnvoll (am besten in einem BEGIN Block) dann bekommst du auch eine Fehlermeldung im Browser angezeigt.Struppi.
Erklär' mich bitte nicht für völlig unfähig, aber CGI::Carp qw(fatalsToBrowser); zeigt bei mir keine Wirkung. Auch nicht, in einem BEGIN-Block.
Ich hab's nun so wie hier (http://www.perlunity.de/perl/forum/thread_013909.shtml) gemacht und bekomme beim Aufruf des Skripts von unten (das gleiche wie bei dem früheren Post) die Meldung:
Undefined subroutine &main::setlocale called at /home/strato/http/power/web6/51/91/51249691/htdocs/cgi-bin/test.pl line 10.
Das Skript:
#!/usr/bin/perl
use locale;
print "Content-type: text/html; charset=utf-8\n\n";
$SIG{__DIE__} = &dieerr;
$SIG{__WARN__} = &warnerr;
setlocale(LC_CTYPE, "de_DE");
$test = "Öh";
if ($test =~ /öh/i) {
print "funktioniert";
}
else {
print "funktioniert nicht";
}
sub warnerr{
my $msg = shift;
print $msg;
}
sub dieerr{
my $msg = shift;
print $msg;
}