in reply to run a background process

Using Solaris I just tried a simple:

perl -e 'system "sleep 5000 \&";'
and the perl script exited leaving the child alive. The same was true when putting the code into a script file. Can you say what your platform is?

One world, one people