我有以下CGI脚本:
#!c:\cygwin\bin\perl.exe
use CGI qw(:standard);
my $query = $CGI->new;
print header (
-type => "text/html",
-status => "404 File not found"
);
print "<b>File not found</b>";
这给了我一个错误:
Server error!
The server encountered an internal error and was unable to complete your request.
Error message:
End of script output before headers: test.cgi
If you think this is a server error, please contact the webmaster.
Error 500
127.0.0.1
Apache/2.4.10 (Win32) OpenSSL/1.0.1h PHP/5.4.31
我查看了this(和其他类似的)问题,但标题不是print
,而不是我的。{/ p>
我正在使用Cygwin Perl的XAMPP Windows软件包。
有人可以帮忙吗?感谢。
答案 0 :(得分:5)
我不知道你为什么使用 $ CGI 而不是 CGI
我认为应该是
my $query = CGI->new;
在Linux上测试完美。
答案 1 :(得分:3)
因此,正如其他人所指出的,您的问题是使用变量($CGI
),您实际需要一个类名(CGI
)。但是,在我看来,这又提出了两个问题。
1 /你为什么要首先创建一个CGI对象?您正在使用基于函数的CGI接口(例如print header(...)
),因此不需要CGI对象。
2 /你为什么要在2014年写一个CGI课程? Perl网络编程在这个千年中走了很长一段路,你似乎陷入了20世纪90年代: - /