OpenVMS with Apache, OSU, and WASD

This chapter is intended to show the differences and similarities in running CGI programs on the three Web servers on VMS. Although I don't intend it as a tutorial on CGI programming in general, the content may venture perilously close to it some of the time, since I hope to give enough context so that the rest of the discussion makes sense.
For general information on CGI programming, you might want to check out these books:
CGI Programming in C & Perl: Featuring C and Perl 5 Source Code
By Thomas Boutell
ISBN: 0-201-42219-0
The Official Guide to Programming with CGI.PM
By Lincoln Stein
ISBN: 0-471-24744-8
Some useful Web resources are the CGI interface definition at http://hoohoo.ncsa.uiuc.edu/cgi/ and, for CSWS, the "Dynamic Content with CGI" chapter in the on-line Apache manual at http://yourserver.domain.tld/manual/howto.cgi
CGI stands for Common Gateway Interface, which, as the name suggests is a standard interface for programs to be run by Web servers. The CGI specifies some environment variables that the program can interrogate to find out about the caller, two methods of argument passing (POST and GET), and a very simple method by which to return results.
It's entirely possible to have a CGI program that doesn't take any arguments a program that displays the current temperature in the computer room, for example, probably doesn't need anything of the kind, but it does need to execute when requested, perform some processing, and output HTML.
If a CGI is specified as the ACTION in...