Почему Perl не предоставляет заголовки при отсутствии? - PullRequest
0 голосов
/ 14 июля 2011

Если я забуду напечатать заголовки, в Perl появится такая ошибка:

 Premature end of script headers

Но в PHP нормально, если я не печатаю заголовки, почему Perl не делает это автоматически?

Ответы [ 3 ]

12 голосов
/ 14 июля 2011

PHP - это путаница языка шаблонов, языка программирования и веб-фреймворка.

Perl - это язык программирования.Он поддерживает шаблонизацию и функциональность веб-фреймворка в дополнительных модулях (что хорошо, так как позволяет легко и аккуратно организовывать код).Если вам нужны автоматические заголовки и тому подобное, используйте веб-фреймворк, например Catalyst или Dancer .

.
4 голосов
/ 14 июля 2011

Perl также обычно используется в качестве языка сценариев, PHP преимущественно создавался как язык веб-сценариев, поэтому, если он не вызывается таким образом, чтобы предупреждать об этом, PHP предполагает, что он должен это делать, тогда как Perl считает, что этоинструмент для написания сценариев для командной строки, поэтому нужно сказать, чтобы он действительно это делал.

2 голосов
/ 14 июля 2011

Потому что вы, вероятно, выполняете свои Perl-скрипты как CGI. Apache просто выполняет скрипт Perl, получает его вывод и отправляет партию в браузер. Скудный Perl-скрипт не знает, что он должен генерировать веб-вывод.

Вы, вероятно, выполняете PHP, используя Apache mod_php.

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