If the script is running in tainted mode, you'll have to delete $ENV{PATH}; first. If perl runs in taint mode, it won't allow you to system while you have $ENV{PATH} inherited from the environment.
Comment on Re: system call in cgi/perl script on linux