Coloca esto después del system(), para saber qué pasa:
Código:
if ($? == -1) {
print "failed to execute: $!\n";
}
elsif ($? & 127) {
printf "child died with signal %d, %s coredump\n",
($? & 127), ($? & 128) ? 'with' : 'without';
}
else {
printf "child exited with value %d\n", $? >> 8;
}
(sacado de la página de manual de
system().
Si el resultado lo sacas en html, quizás tengas que cambiar los print (poner marcas html) o mirar el código fuente de la página html que te devuelva el CGI, para saber qué ha pasado.