open(AT, "|at now + 2 minutes") or die "..."; print AT "/....../mifuture.cgi idnumber=220\n"; close(AT) or die "..."; # non-zero exit status #### fork && exit; # CGI script returns/exits right then # This continues processing in the background while ($_ = shift(@things_to_do)) { sleep $seconds; process($_); }