2017-10-17 80 views
0

我在Haskell中编写了一个cgi脚本。 我只限于使用拥抱/ runhugs。在没有包的情况下使用haskell/hugs获取cgi中的环境变量

#!/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在浏览器窗口。

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 

不起作用。

是否有可能以某种方式做到这一点?

  1. 平原没有进口,或者
  2. 在拥抱可能进口

回答

2

尝试import System.Environment (getEnv)

相关问题