输出开始打印后使用需求有什么问题吗?

时间:2010-02-01 17:59:00

标签: perl

示例:

my $page = $args{'p'};
exit 1 if $page =~ /[^\d\w]/;

print "Content-Type: text/html\n\n";

print "<html><head></head><body>";

require "$page.pl";

somefunc();

print "</body></html>";

在输出开始后使用require有什么问题,或者所有需要都在脚本的顶部吗?

2 个答案:

答案 0 :(得分:4)

我认为这没有任何问题。

但是如果您希望或需要在脚本中更加一致,则可以将所需脚本中的代码重写为子例程。例如:

##### old page.pl ######
print "This is the body.<P>\n";
1;

##### old cgi script #####
print "Content-type: text/html\n\n";
print "<html><head></head><body>\n";
require "page.pl";

<小时/>

##### new page.pl ######
sub page_body {
    print "This is the body.<P>\n";
}
1;

##### new cgi script #####
require "page.pl";                    # now at the top of script
print "Content-type: text/html\n\n";
print "<html><head></head><body>\n";
&page_body;

答案 1 :(得分:3)

不,所有require都不需要在顶部。但是,如果require失败,您的HTML将已经中途发送。 :-P