in reply to FTPing

The issue is with line endings, but most likely not why you think.

In the first line of the file, you'll have:


or the equivalent.

If you transfer between a windows PC and a UNIX box, you end up with:


So, when you go to execute the script, it looks for 'perl^M' to execute, which it can't find. When you're dealing with CGIs, this can be a real problem to debug, as you'll get 'file not found' type error message which confuses people.

Just to be safe, I recommend using the shebang line of:

#!/usr/bin/perl --

Typically, you can get away with bad line endings for most scripts this way, but I'm guessing '<<EOF' type declarations would be a problem, as would pod.