in reply to Execute But Not Read

Yes, here's a simple way.

Give no rights to the script source to the world, only to root. Create a C program that is setuid root, and execs perl with the script as an argument. Finally, make the script start by throwing away its root privilages.

Update: you need root so that the script can throw away its setuidity completely.