如果我忘记打印标题,在Perl中会出现这样的错误:
Premature end of script headers
但是在PHP中如果我不打印任何标题就没关系,为什么Perl不会自动执行呢?
答案 0 :(得分:12)
PHP是模板语言,编程语言和Web框架的混搭。
Perl是一种编程语言。它将模板和Web框架功能隐藏在可选模块中(这是一件好事,因为它更容易实现整齐有序的代码)。如果您需要自动标题等,请使用Catalyst或Dancer等网络框架。
答案 1 :(得分:4)
Perl通常也被用作脚本语言,PHP主要是作为一种Web脚本语言创建的,因此,除非以某种方式调用它,否则PHP假定它需要这样做,而perl认为它是用于命令行的脚本工具,因此必须告诉它实际执行它。
答案 2 :(得分:2)
因为您可能正在将您的Perl脚本作为CGI执行。 Apache只执行Perl脚本,获取其输出并将批次发送到浏览器。可怜的Perl脚本不知道它应该生成Web输出。
你可能正在使用Apache的mod_php执行PHP。