从 Perl CGI 脚本打印 HTML 后应该调用什么?我见过空洞的return
陈述、exit
陈述,在某些情况下什么也没有。有关系吗?
#!perl
print "Content-type: text/html\n\n";
print <<'END_HTML';
<!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">
<head>
<title>Hello world!</title>
</head>
<body>
<h1>Hello world!</h1>
</body>
</html>
END_HTML
# do anything else here?
# return;
# exit;
更新
假设您有一些测试,您正在打印不在文件末尾的 HTML。在这种情况下,调用 exit 或 return 以直观地显示脚本应该在那个时候结束是不是更清楚? 我知道这不是写这篇文章的最佳方式——为了这个问题,请从表面上看。
#!perl
use CGI;
my $q = CGI->new();
my $action = $q->param('action');
my $html_start = "Content-type: text/html\n\n";
$html_start .= <<'END_HTML';
<!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">
<head>
<title>Hello world!</title>
</head>
<body>
END_HTML
my $html_end = <<'END_HTML';
</body>
</html>
END_HTML
if ($action eq 'foo') {
print $html_start;
print '<p>foo</p>';
print $html_end;
# do anything else here?
}
else {
print $html_start;
print '<p>bar</p>';
print $html_end;
# do anything else here?
}