import HSH import Data.Char import Data.Maybe import Data.List import qualified Data.ByteString.Lazy.Char8 as B import Control.Applicative import System.Environment main :: IO () main = do [arg] <- getArgs path <- runSL ("mhpath", [arg]) paths <- glob $ path ++ "/[0-9]*" mapM_ f paths where f i = B.putStrLn . (`B.append` (B.pack (' ':i))) =<< mid i mid fp = fromMaybe (B.pack "") . fmap (B.dropWhile isSpace . B.drop (B.length message_id)) . find isMessageIDline . B.lines <$> B.readFile fp isMessageIDline = (message_id `B.isPrefixOf`) . B.map toLower message_id = B.pack "message-id: "