Nimster has asked for the wisdom of the Perl Monks concerning the following question:

This node falls below the community's threshold of quality. You may see it by logging in.
  • Comment on How do I print overwriting existing output?

Replies are listed 'Best First'.
Re: How do I print overwriting existing output?
by ichimunki (Priest) on Dec 26, 2000 at 18:04 UTC
    If you are looking to overwrite a file on disk, read perldoc perlopentut for info on specific use of the open() command.

    If you are looking for specific commands within HTTP/HTML to use for these techniques, I'd recommend the information at Web Developers VL as a good jump-off point.

    You can add a <meta http-equiv="refresh" content="###seconds;URL=next_page.html"> tag to your header to indicate a refresh to the browser (this is not reliable so include a link to the next page as well. Other than this, once you've sent the page... short of adding Java/Javascript to your page (or some other client-side technique), there is no way I know of to change a web page once it leaves your server.
Re: How do I print overwriting existing output?
by Fastolfe (Vicar) on Dec 27, 2000 at 22:51 UTC
    One trick you can also use (in addition to simply doing a redirect) is to take advantage of the multipart/x-mixed-replace MIME type, which is only supported by Netscape. If you're familiar with multipart MIME types, this is essentially identical, except each "part" will replace the previous part in the browser window. This is useful for things like JPEG image streaming. Sadly, IE has never chosen to adopt this functionality.
    $|=1; print <<"EoF"; Content-type: multipart/x-mixed-replace; boundary=1234 --1234 Content-type: text/html <h1>Test 123...</h1> --1234 EoF sleep 2; print <<"EoF"; Content-type: text/html <h1>Test 456...</h1> --1234 EoF
Re: How do I print overwriting existing output?
by a (Friar) on Dec 27, 2000 at 09:30 UTC
    You ask many questions, weedhopper ...
    my guess is you want to be able to 'redo' a web page after its been returned to the browser; some sort of timed thing or even animation idea. Its not so much perl you'll be doing; perl can help you create any page (hello wrld, hello world) but you're asking to get a refresh/redirect on the browser side. Redirects are both allowed in the header (return a "Location: elsewhere" line) or via a javascript (er, this isn't correct) 'window.writeln("elsewhere")' sort of op (so you'd run javascript, have it sleep/pause for X seconds and then 'emit' the writeln (see www.javascript.com for more hints)). otherwise, you need the user/browser to interact to get the cgi/your web server to server up another page.

    If I'm understanding your question.

    a