为什么Perl在丢失时不提供标题?

时间:2011-07-14 09:46:18

标签: perl

如果我忘记打印标题,在Perl中会出现这样的错误:

 Premature end of script headers

但是在PHP中如果我不打印任何标题就没关系,为什么Perl不会自动执行呢?

3 个答案:

答案 0 :(得分:12)

PHP是模板语言,编程语言和Web框架的混搭。

Perl是一种编程语言。它将模板和Web框架功能隐藏在可选模块中(这是一件好事,因为它更容易实现整齐有序的代码)。如果您需要自动标题等,请使用CatalystDancer等网络框架。

答案 1 :(得分:4)

Perl通常也被用作脚本语言,PHP主要是作为一种Web脚本语言创建的,因此,除非以某种方式调用它,否则PHP假定它需要这样做,而perl认为它是用于命令行的脚本工具,因此必须告诉它实际执行它。

答案 2 :(得分:2)

因为您可能正在将您的Perl脚本作为CGI执行。 Apache只执行Perl脚本,获取其输出并将批次发送到浏览器。可怜的Perl脚本不知道它应该生成Web输出。

你可能正在使用Apache的mod_php执行PHP。