my $cgi = CGI->new(); my $a = $cgi->param('a'); print $cgi->header('text/html; charset=utf-8'); use Encode; my $a_iso = $a; Encode::from_to($a_iso, 'utf8','iso-8859-1'); if ($a_iso =~ /^\p{L}\p{L}$/g) { print "ok"; # funktioniert mit umlauten.. }