是否有不能在CGI中使用的Perl模块?

时间:2008-12-19 05:57:12

标签: perl module cgi

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

2 个答案:

答案 0 :(得分:11)

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

你甚至可以让图形(例如,GTK)的人有足够的痛苦。不是你想要的。除非你是第三方供应商,否则我不满意为此工作。

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

答案 1 :(得分:0)

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