Try to execute the whole path.
If that does not help, maybe the programm you try to call is causing the problem. system() is doing a fork, and the process is waitng for the child process to complete.
If you don't need to fork (the return) try exec(), wich does not do a return:
Be aware of the fact that the reason that exec doesn't return is that the called program is run instead of the caller. The program image of your script (i.e. the Perl interpreter running your script in memory) is replaced with the execed program.