19/03/11 18:14:45.27 I7wjNxVQq
>>547
Haskell
import Data.Char
main = (mapM_ print.filename) ["a","aB.txt","Ab.txt","xx","cd","cD","CD","f"]
filename [] = []
filename (xs:xss) |length a > 1 = a:(filename.drop (length a)) (xs:xss)
where
a = filter ((map toUpper xs ==).map toUpper) (xs:xss)
filename (_:xss) = filename xss