Your problem is most likely to do with permissions. Remember that your script when running in CGI mode, is under the apache/httpd user, not your normal user. Make sure the dump path directory is writable to the apache user. You should be able to see the type of error in your web server log.
Your system call looks ok to me. There is a better way to write it:
system "/usr/local/bin/dcm_dump_file -t $n > $dump_path/PCfiles/dumpfi
+le";
Notice the use of double quotes instead of single quotes. Perl interpolates the variables inside the double quote.