http://www.perlmonks.org?node_id=363167


in reply to Lowercasing umlauts in words

I had the same issue a while back with french characters.

The answer is the locale pragma:

use locale; print lc("BAESCHGÄSSEL") . "\n";
Output: baeschgässel