Что-то не так с использованием require после того, как вывод начинает печатать? - PullRequest
2 голосов
/ 01 февраля 2010

Пример:

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 ]

4 голосов
/ 01 февраля 2010

Я не думаю, что с этим что-то не так.

Но если вы хотите или нуждаетесь в большей последовательности в своих скриптах, вы можете переписать код в необходимом скрипте в качестве подпрограммы.Например:

##### 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;
3 голосов
/ 01 февраля 2010

Нет, нет необходимости, чтобы все require были наверху. Хотя, если require не удастся, ваш HTML уже будет отправлен на полпути. : -Р

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...