如何在perl中创建倒计时cgi脚本?

如何在perl中创建倒计时cgi脚本?,perl,cgi,Perl,Cgi,我试图创建一个简单的cgi perl脚本,从10倒计时到0;然而,我似乎无法让它发挥作用。它不断告诉我脚本中的头格式不正确。坏头=HTTP/1.1 200正常。我不熟悉Perl和CGI脚本,所以我确信它非常简单 #!/usr/bin/perl use warnings; use strict; use CGI::Push qw(:standard); my $startingCountDown = 10; do_push(-next_page => \&refresh, -l

我试图创建一个简单的cgi perl脚本,从10倒计时到0;然而,我似乎无法让它发挥作用。它不断告诉我脚本中的
头格式不正确。坏头=HTTP/1.1 200正常
。我不熟悉Perl和CGI脚本,所以我确信它非常简单

#!/usr/bin/perl
use warnings;
use strict;

use CGI::Push qw(:standard);

my $startingCountDown = 10;

do_push(-next_page => \&refresh, -last_page=> \&lastPage, -delay => 1 );

sub refresh
{
        my ($cgi, $count) = @_;

        return undef if ($startingCountDown - $count < 0);

        my $num = $startingCountDown - $count;
        my $page = $cgi->start_html();
        $page .= $cgi->p("The count is $num").end_html();
        return $page;
}

sub lastPage
{
     my ($cgi, $count) = @_;
    return start_html()."Blast Off".end_html();
}
#/usr/bin/perl
使用警告;
严格使用;
使用CGI::Push qw(:标准);
我的$startingCountDown=10;
执行推送操作(-next\u page=>\&refresh,-last\u page=>\&lastPage,-delay=>1);
子刷新
{
我的($cgi,$count)=@;
如果($startingCountDown-$count<0),则返回undef;
my$num=$startingCountDown-$count;
my$page=$cgi->start_html();
$page.=$cgi->p(“计数为$num”).endu html();
返回$page;
}
子末页
{
我的($cgi,$count)=@;
返回start_html()“爆炸”。end_html();
}
如果从终端(在Macbook上)运行此操作,则会出现以下错误:
警告:您的浏览器不支持此服务器推送技术。
。我曾尝试在Safari和Chrome中运行此脚本,但两者似乎都不起作用。在这种情况下,我将如何编写一个从10倒计时到1,每秒更改数字的功能脚本?谢谢。

CGI::push使用的“服务器推送”机制(特别是,
多部分/x-mixed-replace
)没有得到广泛支持。您需要选择一种不同的实现方法;最好的方法可能是在Javascript中进行倒计时,而不是在服务器端。
CGI::push
使用的“服务器推送”机制(特别是,
multipart/x-mixed-replace
)没有得到广泛支持。您需要选择一种不同的实现方法;最好的方法可能是在Javascript中进行倒计时,而不是在服务器端