|
There are two main differences between ``regular'' programming, and CGI programming.
First, all output from your CGI program must be preceded by a MIME-type header. This is
HTTP header that tells the client what sort of content it is receiving. Most of the time, this
will look like:
Content-type: text/html
Secondly, your output needs to be in HTML, or some other format that a browser will be able
to display. Most of the time, this will be HTML, but occasionally you might write a CGI
program that outputs a gif image, or other non-HTML content.
Apart from those two things, writing a CGI program will look a lot like any other program
that you might write.
The following is an example CGI program that prints one line to your browser. Type in the
following, save it to a file called first.pl, and put it in your cgi-bin
directory.
#!/usr/bin/perl
print "Content-type: text/html\r\n\r\n";
print "Hello, World.";
Even if you are not familiar with Perl, you should be able to see what is happening here.
The first line tells Apache (or whatever shell you happen to be running under) that this
program can be executed by feeding the file to the interpreter found at the location /usr/bin/perl.
The second line prints the content-type declaration we talked about, followed by two
carriage-return newline pairs. This puts a blank line after the header, to indicate the end of
the HTTP headers, and the beginning of the body. The third line prints the string ``Hello,
World.'' And that's the end of it.
If you open your favorite browser and tell it to get the address
http://www.example.com/cgi-bin/first.pl
or wherever you put your file, you will see the one line Hello, World. appear
in your browser window. It's not very exciting, but once you get that working, you'll have a
good chance of getting just about anything working.
|