Hi:

I have the following script

==========================================
#!D:/Perl/bin/Perl.exe -w use strict; use CGI ":standard"; $| = 1; my $MYFILE = "D:\\Apache\\logs\\mgmtwrkstn\\lucky.txt"; if (param("monitor")) { &monitor(); } else { if (fork) { # only need to fork for IE print redirect(-uri => url() . "?monitor=yes", -nph=>1); } else { &do_stuff(); } sub monitor { my $html = &draw_page(); if (defined $html) { print header(-refresh=>1, -nph=>1), $html; } else { print header(-nph=>1), &goodbye(); } } sub goodbye { return start_html(-title=>"Goodbye!") . h1("Goodbye!") . end_html(); } sub get_number { open NUMBER, "<$MYFILE" or return undef; my $number = @glo; close NUMBER; return $number; } sub draw_page { my $number = &get_number(); return (defined $number) ? start_html(-title=>"Your Lucky Number") . p("Your lucky number is $number.") . end_html() : undef; } sub do_stuff { for my $i (1 .. 10) { open NUMBER2, ">$MYFILE"; print NUMBER2 $i; close NUMBER2; sleep 1; } unlink $MYFILE; }
=========================================================

What this script essentially do is that it forks a child process to write 1 to 10 on some file, while writing it, the parent process will refresh the page every second to read the content of that file. This script is orginally from http://hypernews.ngdc.noaa.gov/HyperNews/get/webscience/2/6/1.html?nogifs It works under Unix environment with apache. However, when I run this script in W2K and apache 1.3.x. It doesn't work. It seems like that the child process is locking the files its writing to and the parent process can't go into it. Therefore, the parent process doesn't refresh the page until the child process unlink ("delete") the file. Can anyone help me on this one? I am a newbie on Perl and CGI and I want to continuosly monitor some background job on a web page.

Thanks Herman

In reply to CGI real time update on Window/Apache problem by c24chan

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.