を使用するときに行末から \r を削除しようとしていBS.getLineます。私は使用hSetNewlineModeしてみましたが、それは動作しますが、動作しgetLineませんBS.getLine:
import qualified Data.ByteString.Char8 as BS
import Data.ByteString (ByteString)
import System.IO (hSetNewlineMode, universalNewlineMode, stdin)
main = do
hSetNewlineMode stdin universalNewlineMode
-- s <- BS.pack `fmap` getLine -- \r removed
s <- BS.getLine -- \r not removed
putStrLn $ show s
-- to test: perl -e 'print "this\r\n"' | runhaskell program.hs
他にすべきことはありますか?