Are you sure you're reading the CGI instructions for your server correctly? I've never heard of a perl.exe extension
being required to mark a script as a CGI executable. The shebang line in your script should be enough to tell the server where perl is, though I somehow doubt perl is in /usr/bin on an NT system. Did you mean something like #!C:\perl\bin\perl.exe -w
The script-downloading behavior you mention is symptomatic of the web server not treating your script as executable. So, what's the right way to do it? That depends mostly on the webserver you're running and how it's configured. There are a few common configurations, but these are the two I've encountered most often:
- Files inside a specific directory, e.g. /~user/cgi/, /cgi-bin/, etc., are always interpreted as scripts. Just upload to that directory and, assuming your script works, you'll see its output in your browser.
- Specific extensions, most commonly .cgi, sometimes .pl, are interpreted as scripts. .perl.exe sounds a bit bizarre; tou shouldn't need the name or location of the interpreter in the script filename. The webserver or OS should be aware of where to find perl once it recognizes your script as such.
In either case, your administrator should know where to put and how to name scripts so that they'll actually execute. If you're the administrator, read up on your webserver docs.