Most likely, the xx.pl script is getting killed off when the cgi
exits. Do this:
system "/the/full/path/to/xx.pl @arguments $another_argument </dev/nu
+ll >/full/path/to/output.log 2>&1 &";
(that log at the end can be switched to /dev/null, too, if you don't want
to look at the output anymore. but i find it really useful for debugging.)
I'd guess that the reason that ls works but your xx.pl doesn't
is that ls can complete quickly enough, but xx.pl takes longer
& isn't done running when the cgi exits & its child processes
are killed off. i got bitten by this on one of the first
CGIs i wrote, and it took a friend & i a while of digging
through FAQs to uncover the trick to keeping the child process
running. -- cat