使用 haskell/hugs 在没有包的情况下获取 cgi 中的环境变量
fetch environment variables in a cgi with haskell/hugs without a package
我正在 Haskell 中编写一个 cgi 脚本。
我只能使用 hugs/runhugs.
#!/opt/local/bin/runhugs
module Main where
main = do
putStrLn ("content-type: text/plain\n")
putStrLn ("Hello, Server!")
到目前为止一切顺利。
但是现在我想获取服务器的环境变量。
例如 "SCRIPT_NAME" 环境变量。
有了bash我可以做到:
#!/bin/bash
echo "content-type: text/plain;"
echo ""
echo $SCRIPT_NAME
在浏览器中的结果是:/path/to/script.cgi
-window。
对于 Haskell 我发现了类似的东西:script <- getEnv "SCRIPT_NAME"
,
但是
#!/opt/local/bin/runhugs
module Main where
main = do
putStrLn ("content-type: text/plain\n")
scriptname <- getEnv "SCRIPT_NAME"
putStrLn scriptname
无效。
是否可以像那样做?
- 没有导入的纯文本,或者
- 可以在拥抱中导入
尝试import System.Environment (getEnv)
。
我正在 Haskell 中编写一个 cgi 脚本。 我只能使用 hugs/runhugs.
#!/opt/local/bin/runhugs
module Main where
main = do
putStrLn ("content-type: text/plain\n")
putStrLn ("Hello, Server!")
到目前为止一切顺利。 但是现在我想获取服务器的环境变量。 例如 "SCRIPT_NAME" 环境变量。
有了bash我可以做到:
#!/bin/bash
echo "content-type: text/plain;"
echo ""
echo $SCRIPT_NAME
在浏览器中的结果是:/path/to/script.cgi
-window。
对于 Haskell 我发现了类似的东西:script <- getEnv "SCRIPT_NAME"
,
但是
#!/opt/local/bin/runhugs
module Main where
main = do
putStrLn ("content-type: text/plain\n")
scriptname <- getEnv "SCRIPT_NAME"
putStrLn scriptname
无效。
是否可以像那样做?
- 没有导入的纯文本,或者
- 可以在拥抱中导入
尝试import System.Environment (getEnv)
。