Построчный вывод CGI скрипта

Alex Emergy alex.emergy на gmail.com
Пт Дек 17 15:06:19 GMT 2010


Пробовал после print ставить

autoflush STDOUT 1;
sleep(1);

и вначале: $|=1; - не работает

Даже этот пример не работает:

#!/usr/bin/perl -w

$|=1;

use CGI qw/:standard/;

{
     my $cgi = CGI->new;
     print $cgi->header('text/plain');

     print "Autoflush is currently ".($|?"on":"off").".\n";
     for ( 1..5 ) {

       print "Value is $_.\n";

       sleep 1;
     }
     print "Autoflush is currently ".($|?"on":"off").".\n";
}


я в печали :(

17.12.2010 17:21, Andrew Bondarenko пишет:
> http://www.inter-activ.ru/cgi-bin/texts.cgi?m=m24&textId=314
>
> flush/autoflush стандартного потока вывода тоже, значит, не поможет? А
> если попробовать?
>
> On 12/17/2010 04:04 PM, Alex Emergy wrote:
>> Не помогло:
>>
>> 1) $| = 1;
>>
>> 2) mod_perl
>>
>> <IfModule mod_perl.c>
>>        PerlOptions +Parent
>>        Alias /tran/ /home/scripts/tran/
>>
>>        <Directory /home/scripts/tran>
>>            SetHandler perl-script
>>            PerlResponseHandler ModPerl::RegistryPrefork
>>            PerlOptions +ParseHeaders
>>            Options +ExecCGI
>>            AllowOverride None
>>            Order allow,deny
>>            Allow from all
>>        </Directory>
>> </IfModule>
>>
>>
>> 17.12.2010 15:56, Dmitry Agafonov пишет:
>>> На серверах разный метод буферизации вывода из cgi.
>>> Попробуйте поставить для начала
>>> $| = 1;
>>> где-то в начале (если не стоит). Пишу по памяти, надеюсь не ошибся.
>>> Если уже стоит - то надо смотреть где-то глубже...
>>>
>>
>
>
>

-- 
С уважением,
Alex Emergy



Подробная информация о списке рассылки ubuntu-ru