In issue 1-2 of ezine we had an article about cgi programming.
In that article we saw a small cgi program using C programming
In this issue we will start a series of small articles on cgi
programming in Perl. For those new to cgi programming we start
again from zero. These articles are based on small examples
so you can test them, change them and learn more than the
When you call a cgi program over internet by referring to its
address in your browser (either directly or indirectly by a
html page) a web server program receives your request. If you
have requested an html file or an image file etc. it easily
sends back the file.
In other side if you have requested a cgi program, web server
does not send cgi program file but runs it and sends back the
result of running the cgi as a html web page.
So actually a cgi program will create an html web page for
web server and this is what web server sends back to browser.
If running a cgi does not create a valid html or return an
error web server will send an error message to the browser.
In this issue we will write a very simple cgi program with
Perl language. We will first see the program and then will
describe each line.
Example 1 - hello.pl:
print "Content-type: text/html\n\n";
print "<HEAD><TITLE>Perl Hello World !</TITLE></HEAD>\n";
print "<CENTER><H1>Hello World!</H1></CENTER>\n";
As we told later, this program will output a valid html file.
Web server will get the result and send it to browser. Below
is the actual html file that browser will receive.
<HEAD><TITLE>Perl Hello World !</TITLE></HEAD>
And now description of program.
1- In first line we see the path to Perl interpreter
executable file on server. This is very important on Unix
type servers. If this path does not point to the correct
place of Perl interpreter then our cgi program will not run.
If you are using a NT server with Active state's Perl
(R) then you will not need the first line. Active State
Perl will be used automatically by web server to run
2- Second line output will create a header that is needed
by web server to accept output of our program as an html
file. You will add this line to your programs exactly as
this line if your program must create an html file.
Pay attention that two "\n" or new line marks are necessary
for the header.
Print command is for sending a text to standard output. If
you run a Perl program from command line the output of print
command will be sent to your console. If you run it inside
a web server ,web server will use the results.
3- In next 4 lines we actually create our html file, as we
want it on the web server. "\n" marks (new line) will force
program to output results in a new line after it.
So we will see have above html code in our browser.
In more complicated programs such as database programs we
will construct the output page from results of longer
In next issues we will see more complicated examples.
If you have any question about Perl and cgi programming you
can ask it in our programming forums.