If the install script is just one of the many things that your CGI program does, you could try forking your CGI process. A nice description (with code) of how this can be achieved is by Randall Schwartz in one of his Perl columns and is archived here.
However if you are planning to run several installs, a good option would be to hive off your install action to a message queue where a worker script could take over the job of running your install script. There are several message queues that work with Perl. See TheSchwartz, Gearman and Beanstalk for message queues that play well with Perl. You can then implement the Cache::Cache trick in Randall's script to track the worker's (install) progress
Hope this helps