3

我最近遇到了一个问题,Tie::File 证明了我可以为 Perl 程序使用的最佳答案。我已经准备好使用 CGI,我需要问:是否有不能在 CGI 中使用的 Perl 模块,尤其是 Tie::File?如果有任何并发​​症,有没有办法调和它们?

4

2 回答 2

11

CGI 基本上只是一个程序,它读取 STDIN 上的请求并在 STDOUT 上喷出标头 + HTML。它并不是很特别:如果你足够努力,没有任何模块是你不能使用的。

你甚至可以得到足够痛苦的图形(例如,GTK)。不是你想要的。除非您是第三方供应商,否则我对为其工作感到不快。

但是请记住,您的程序的多个副本可能同时运行(每个同时的 Web 请求一个),因此如果您使用的是平面文件,则必须处理锁定问题。

于 2008-12-19T06:04:43.430 回答
0

确保您的数据文件可被 CGI进程读写。我添加这个答案是因为它导致了一个非常奇怪的错误。我有一个不能从 CGI 运行的脚本。事实上,CGI 可以很好地读取数据的内容,但是 Tie::File 失败了(即使我从命令行调用它也可以正常工作)。事实证明,权限设置为 -rw-rw-r-- 这意味着世界可读,但只有我的用户和组可以写入它。由于 CGI 进程没有写入权限,因此 Tie::File 在 CGI 中失败。

于 2012-05-10T19:02:14.587 回答