in reply to Upper Ascii characters

Just to make it clear - those characters aren't ASCII. ASCII are only those that have the 8th bit set to 0.

That said, a converting routine will be quite tricky - for it completely depends on the locale you are using. Different characters have different codes in the different charsets. You will have to take locale into account. Then you can at least convert them to lowercase:

use locale; $foo = "ÖÄÜ"; print lc($foo)."\n";
This put's them just to lowercase - it doesn't convert them to ASCII characters. That is a thing I wouldn't do - the characters are different on purpose. They mean different things, so I might question your reason.
--
Alfie