我的网站上有一个.pl perl脚本。 我希望代码打印出来,好像它是一个html页面而不是perl页面。我的代码是下面的,当我访问该页面时,突出显示的是我所看到的内容。当我访问该页面时,我想看到的只是“你好”。不是所有的标签。 (为了上网的目的,我把实际的html代码简单地设为'Hello'而不是我页面上的实际html。虽然它服务器的目的相同......
.pl代码是什么:
#!/usr/bin/perl
use v5.10;
use CGI;
$q = CGI->new;
print $q->header("text/plain");
$html_template = qq{<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<p>Hello</p>
</body>
</html>
};
print $q->header;
print $html_template;
访问该页面时打印的内容:
Content-Type: text/html; charset=ISO-8859-1
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<p>Hello</p>
</body>
</html>
我想要打印出来的内容:
Hello
答案 0 :(得分:7)
print $q->header("text/plain");
如果您告诉浏览器您正在发送文本而不是HTML,那么理智的浏览器会相信您并显示纯文本。
答案 1 :(得分:4)
删除print $q->header("text/plain");
。
您的代码归结为
print $q->header("text/plain");
print $q->header;
print $html_template;
您发送标题说明以下内容是文本数据。浏览器愉快地将响应的其余部分(第二个标题和一些HTML)显示为文本数据。
你应该这样做
print $q->header("text/html");
print $html_template;
也是使用
实现的print $q->header;
print $html_template;
答案 2 :(得分:2)
删除行:print $ q-&gt; header(“text / plain”);