here's a really simple way to do what you want:
have the inital request for the search return a simple page that says "Please be patient while results are obtained" or whatever. That page should have a meta refresh set for a short amount of time (1 second or a fraction of a second) to the exact same url as the original request (or including the same parameters as hidden if the original parameters were not in the url) but with a flag set that indicates the results should be sent rather than the "wait" page. This page must be *unbuffered* - that is, it should not return *anything* at all until the search is complete. This way, the browser sits spinning and the user sees the "wait" page until their results are ready. hope this helps
Comment on Re: CGI::Push Only Works With Netscape. Now What?