Jan : CGI Hook funktioniert nicht.

Hallo,

ich habe ein Problem und es liegt meiner Meinung an irgendeiner Server Einstellung.
Mein Upload Script benötigt je nach Datei Größe mehrere Minuten.
Wenn ich aber die Zeit messe behauptet es, das lediglich Sekundenbruchteile benötigt werden. Es scheint als ob die Gesamte Datei vorher irgendwie gecacht wird oder sowas.

Hat jemand eine Idee was ich falsch mache?

Meine erste Zeile im Code ist:
my $start = join(" ",times());
Meine letzten Zeilen sind

print "Content-type: text/html\n\n";  
print $start;  
print "<br>";  
  
print join(" ",times());  
print "<br>";

Dazwischen ist irgendwo mein Hook:

my $hook_handle = new IO::File;  
$hook_handle->open("> $hook_file") or die("Failed to open $hook_file: $!");  
$hook_handle->autoflush(1);  
my $hook_query = CGI->new(\&hook, $hook_handle);
  1. Hi Jan!

    Mein Upload Script benötigt je nach Datei Größe mehrere Minuten.
    Wenn ich aber die Zeit messe behauptet es, das lediglich Sekundenbruchteile benötigt werden. Es scheint als ob die Gesamte Datei vorher irgendwie gecacht wird oder sowas.

    Dein Skript wird erst aufgerufen, wenn alle Daten für den Request vorhanden sind. Eigentlich logisch, oder? =)

    MfG H☼psel

    --
    "It's amazing I won. I was running against peace, prosperity, and incumbency."
    George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
    Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
  2. Hat jemand eine Idee was ich falsch mache?

    Meine erste Zeile im Code ist:
    my $start = join(" ",times());
    Meine letzten Zeilen sind

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

    print $start;
    print "<br>";

    print join(" ",times());
    print "<br>";

      
    Ich bezweifle, dass times() die richtige Funktion dafür ist. Um eine kurze Zeitspanne zu messen ist das Modul [Time::HiRes](http://search.cpan.org/dist/Time-HiRes/HiRes.pm) wohl die bessere Wahl. Ich mach das so, dass ich direkt die Funktion time überschreibe  
      
    `use Time::HiRes qw (time);`{:.language-perl}  
      
    Nun gibt die Funktion time (wenn möglich) die Zeit in Mikrosekunden zurück.  
      
    Struppi.