Aqua: Geht der Buffer $|++; unter Windows mit Active-PERL nicht?

Hallo

Folgendes Script geht unter Linux / Unix:

==========================================

#!/usr/bin/perl

print "Content-type: text/html\n\n";

$|++;  # WICHTIG

for my $count (9,8,7,6,5,4,3,2,1,'count finished')  {
print $count, "<br>\n";

sleep(1);  # WICHTIG
}

==========================================

man beachte bitte das sleep(1); innerhalb der Schleife.
Das laesst die Schleife 1 Sekunde warten bevor sie wieder
einen durchlauf startet.

Also sollte das in der Praxis so ablaufen:

9
(eine sekunde warten ...)
8
(eine sekunde warten ...)
7
(eine sekunde warten ...)
6
(eine sekunde warten ...)

und so weiter, usw. usw....

Das funktioniert unter Linux und Unix.

Das Problem

Das ganze hab ich jetzt unter Windows ausprobiert mit ActivePerl.
Da geht das ganze aber leider nicht ;/

Da macht es folgendes:
Die Seite ladet (im Browser) 10 Sekunden,
danach zeigt er alles auf einmal an.

Ich schiebe das irgendwie auf den Active-PERL interpreter
von Windows weil mit dem selben Browser geht es wenn
das Script auf einem Linux / Unix Host liegt.

Die Frage

Was soll ich tun damit es auch auf windows geht?

Danke,
Aqua

  1. Hallo,

    Das ganze hab ich jetzt unter Windows ausprobiert mit ActivePerl.
    Da geht das ganze aber leider nicht ;/

    It depends...
    Also am Perl kann es nicht liegen. Ich habe Dein Script unter WinXP mit ActivePerl 5.6.1 (build 633) ausprobiert. Als Webserver kamen zum einen der Apache 2.0.47 und dann noch der Apache 1.3.27 zum Einsatz. Als Client habe ich (natürlich) einen Mozilla 1.5 verwendet.
    Beim 2er-Apache gehts, beim 1.3er nicht. (Wobei das vielleicht auch nur eine Einstellungssache ist, aber so firm bin ich mit der Apache-Konfiguration nicht)

    Grüße
      Klaus