You could present them with a link to the results. For instance "Your results will be available at http://www.mysite.com/results/434456fdtrevz867oukrytiysir68hhv (i.e. some random-looking name that is related to their request in a table/database of some sort) Please check that page after xx minutes". Then populate that page with a "yy% complete" message until the final results are available. The results could, of course, be computed and stored in a database and/or the results page could be a perl script that says some form of "not yet" until the appropriate process is complete.
HTH, --traveler