使用 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

无效。

是否可以像那样做?

  1. 没有导入的纯文本,或者
  2. 可以在拥抱中导入

尝试import System.Environment (getEnv)