0

抱歉这个新手问题,但是 Perl 脚本中的换行符不起作用。也就是说,下面脚本中的 \n 和 \t 根本不起作用,它只是显示“Hello Perl!Hello CGI!” 在一行中。通常,这种现象的原因是什么?如果有人知道,请告诉我。非常感谢。

#!/usr/bin/perl

print "Content-Type: text/html; charset=UTF-8\n\n";

print "Hello Perl!\n";
print "Hello \t CGI!";
4

2 回答 2

5

\n并且\t没有html按您的预期显示。但是,您可以使用纯文本来检查这些字符是否在您的输出中,

#!/usr/bin/perl

print "Content-Type: text/plain; charset=UTF-8\n\n";

print "Hello Perl!\n";
print "Hello \t CGI!";
于 2013-10-07T12:54:12.383 回答
1

该行:

print "Content-Type: text/html; charset=UTF-8\n\n";

告诉 Web 浏览器 HTML 将被传递给它:(这意味着您正在将 HTML 输出到 Web 浏览器)

print "Hello Perl!\n";
print "Hello \t CGI!";

在 HTML 中 \n 和 \t 无效。它不会显示,也不会在网络浏览器中执行任何操作。它不会显示在网络浏览器中。

Use <br> instead of \n

You could use &nbsp;&nbsp;&nbsp;&nbsp; instead of \t 

<br> is used for a new line in HTML and &nbsp; is one white space character in HTML. 

因此,如果您要输出 HTML,您的代码将需要如下所示:

#!/usr/bin/perl

print "Content-Type: text/html; charset=UTF-8\n\n";
print "Hello Perl! <br>";
print "Hello &nbsp;&nbsp;&nbsp;&nbsp; CGI!";

请记住,如果您将 HTML 输出到 Web 浏览器,则需要通过标签和标签等使用正确的有效 HTML,但这超出了本问题的范围。

于 2013-10-19T11:44:49.483 回答