CGI/Perl

 

 

The lecture notes contained in this packet are based on PERL - How To Program by Deitel.  These notes should only be used in the class room in conjunction with the author’s book.  The only purpose of these notes is to extract the important topics that will be covered in the CGI/Perl class.  The notes are used simply as an outline of the material that will be covered in the class.

 

 


Chapter 1

 

 

 

Introduction

 

            Computer organization, Evolution of Operating Systems, Personal Computing, Distriburted Computing and Client/Server Computing

 

Client server computing

 

- users work on workstations

- Information is shared over the network

                        - file servers ( computers) store programs and data that may be used

              by client computers distributed accross a network

 

Structured Programming  --- > Object Oriented Programming

 

History of the Internet and the World Wide Web

 

            From: ArpaNet ( Advanced Research Project Agency ) network

using TCP/IP protocol

                        TCP – Transmission control Protocol ( to route messages properly

 from sender to receiver)

IP – Interconnecting Protocol ( to get the variety of computers to

communicate)

 

            TO: commercial use

 

            The World Wide Web – allows computer users to locate and view, over the Internet, multimedia-based documents ( Developed in 1990 by Tim Berners-Lee of CERN ( the European Laboratory for Particle Physics)

 

The Internet mixes computing and communications technologies.  Today’s applications can be written to communicate among the world’s hundred of millions of computers.

 

 


 

Perl with the Common Gateway Interface (CGI)

 

            History: In 1986, Larry Wall ( system programmer for National Security Agency project)  invented a new language aimed to integrate features of the UNIX languages such as awk ( a report generating language) and sed ( stream editor) with the shell ( UNIX command-line scripting language).  He wanted the language to be easy to use – but at the same time to be powerful.

 

- Perl, the Practical Extraction and Report Language, grew from a text-processing language to a powerful general purpose programming language mostly used for system administration

 

            Perl – a flexible, portable and efficient language

            Perl 3 – adopted the GNU General Public License

            Perl 4 adopted an Artistic License to attract more users.

            Both protect Perl’s free open source nature

            Perl 5 – reorginanized in a major way to fix shortcomings

 

Perl is particularily effective with CGI -  Common Gateway Interface protocol – - ideal for the WWW – allows users of the internet to connect to web servers which can then interact with other applications and pass their output to client applications in the form of dynamic content. 

 

            The event of CGI – transformed Perl from a systems administration tool to the most widely used         - Server Side Internet Programming Language

 

 

Folded Corner: CGI/script                                                HTTP                           CGI

                                         Protocol                              Protocol

 

 

 

 


                        Browser

                  (User’s computer)

                                                            Web server

                                                            stores HTML documents

 

 

 

 


                                                                                                            Data Bases

                                                                                                            and other files

 

 

 

 

Perl Library –

            Perl is a modularly extensible language, - many different modules ( reusable pieces of software) have been written by Perl developers around the world.

 

Perl modules are defined in library files ending in .pm

 

Comprehensive Perl Archive Network (CPAN) ww.cpan.org is the distribution center for Perl source code.

 

Users of ActivePerl and implementation of Perl for Windows created  by ActiveState Tool Corporation – can use Perl Package Manager (PPM) to find the install procedures.

 

 

Dynamic and static Web pages –

 

A static web page is an HTML document stored on the local machine or the server

 

A dynamic web page is an HTML document that can control the display of elements in a Web page.  Scripts (code)  are included in the Web page and executed by the Web browser.

 

Scripts can be written in various languages ( VB script, Java Script, AppleScript, Unis shell scripts, Perl scripts …

 

CGI describes the set of protocols through which applications , i.e. CGI programs or CGIscripts interact with Web servers and with clients ( Web browser).