This is old but still comes up sometimes. Make sure the script is 755 and the file is in the correct format.
First verify the file is not in binary.

vi -b filename

With plesk with suexec you need to set the uid:gid to the userID for the domain and the psacln group.

chown userid:psacln file.cgi

Now one last think you can do is check the syntax of the file

perl -c file.cgi