main = do s <- readFile "/etc/passwd" putStrLn $ "/etc/passwd has " ++ shows (length s) " characters" let logins = map (takeWhile (':' /=)) $ lines s putStrLn $ "There are " ++ shows (length logins) " logins" let funny = filter (all (`notElem` "AEIOUaeiou")) logins putStrLn $ "Funny logins: " ++ concatMap (' ' :) funny