我在下面提到的版本和输出的两个不同环境中运行以下代码:
环境1(Perl:5.14.1,CGI模块:3.52,Apache:2.4.12)输出:
Content-Type: text/html; charset=ISO-8859-1 Hello Everybody .. !
环境2(Perl:5.6.1,CGI模块:2.752,Apache:1.1)输出:
Hello Everybody .. !
我已经看到CGI头函数在2.752中经历了3.52的一些变化。任何人都可以帮我理解输出的差异 用于打印标题两次是由于CGI版本还是Apache版本?
use strict;
use warnings;
use CGI;
use CGI::Carp qw(fatalsToBrowser);
my $q = CGI->new;
print $q->header();
print $q->header();
print $q->start_html();
warn "This is test header issue script \n";
print "Hello Everybody .. !";
print $q->end_html();
答案 0 :(得分:2)
添加以下内容将抑制较新版本中的重复标题:
use CGI qw( -unique_headers );
如果在旧版本中导致错误,则可以改为使用以下内容:
{
no warnings qw( once );
$CGI::HEADERS_ONCE = 1;
}