避免使用“HTML生成功能”对我不起作用 如果我从我的localhost开始使用perlscript
#!/usr/bin/perl
print "Content-type:text/html\r\n\r\n";
print '<html>';
print '<head>';
print '<title>Hello Perl</title>';
print '</head>';
print '<body>';
print '<h2>Hello perl</h2>';
print '</body>';
print '</html>';
我的浏览器按预期打印出来:
“你好perl”
但perldoc建议:“不再使用HTML生成函数”。
所以我尝试了面向对象的cgitutorial-script(perl,v5.10.0)。
#!/usr/bin/perl -w
use CGI;
$q = new CGI;
print $q->header,
$q->start_html('hello world'),
$q->h1('hello world'),
$q->end_html;
浏览器显示
“内部服务器错误”
如果我使用
在终端上加载上述脚本$perl mycgi.pl
显示预期结果
Content-Type: text/html; charset=ISO-8859-1
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-US">
<head>
<title>hello world</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<h1>hello world</h1>
</body>
</html>
我错过了什么?
答案 0 :(得分:2)
来自你的评论:
(8)exec格式错误:'/ Library/WebServer/perling/mycgi.pl'的执行失败
这通常表明你的shebang线存在问题。 shebang是你节目的第一线吗?它是否指向真正存在的可执行文件?在行的末尾是否存在虚假的不可见字符(有时在Windows上编写程序并在Unix系统上运行时会出现这种情况。)