Perl Tutorials - Herong's Tutorial Examples
∟CGI (Common Gateway Interface)
∟Calculator.pl - CGI Application Example
This section provides a tutorial example of Perl CGI application: Calculator.pl - Returning the result of any arithmetic expression like a calculator.
Here is a simple CGI application, Calculator.pl:
#- Calculator.pl #- Copyright (c) 1996 by Dr. Herong Yang, http://www.herongyang.com/ # &getValues(); $res = ""; $res = eval($exp) if ($exp); print "Content-Type: text/html\n\n"; print "<html><body>\n"; print "<b>Calculator:</b><br/>\n"; print "<form action=\"/cgi-bin/Calculator.pl\" methor=\"GET\">\n"; print "<table border=\"0\">\n"; print "<tr><td align=\"right\">Expression:</td>\n"; print "<td><input type=\"text\" name=\"exp\""; print " value=\"$exp\"/></td></tr>\n"; print "<tr><td align=\"right\">Result:</td>\n"; print "<td>$res</td></tr>\n"; print "<tr><td></td>\n"; print "<td><input type=\"submit\" value=\"Evaluate\"/></td></tr>\n"; print "</table></form>\n"; print "</html></body>\n"; exit; sub getValues { $query = $ENV{'QUERY_STRING'}; @list = split( /\&/, $query); foreach (@list) { ($var, $val) = split(/=/); $val =~ s/\'//g; $val =~ s/\+/ /g; $val =~ s/%(\w\w)/sprintf("%c", hex($1))/ge; $exp = $val if ($var =~ /exp/); } }
Enjoy it.
Table of Contents
About This Book
Perl on Linux Systems
ActivePerl on Windows Systems
Data Types: Values and Variables
Expressions, Operations and Simple Statements
User Defined Subroutines
Perl Built-in Debugger
Name Spaces and Perl Module Files
Symbolic (or Soft) References
Hard References - Addresses of Memory Objects
Objects (or References) and Classes (or Packages)
Typeglob and Importing Identifiers from Other Packages
String Built-in Functions and Performance
File Handles and Data Input/Output
Open Files in Binary Mode
Open Directories and Read File Names
File System Functions and Operations
Converting Perl Script to Executable Binary
Using DBM Database Files
Using MySQL Database Server
Socket Communication Over the Internet
XML::Simple Module - XML Parser and Generator
XML Communication Model
SOAP::Lite - SOAP Server-Client Communication Module
Perl Programs as IIS Server CGI Scripts
►CGI (Common Gateway Interface)
What Is Common Gateway Interface (CGI)?
IIS Environment Variables
QUERY_STRING - CGI Query String
►Calculator.pl - CGI Application Example
XML-RPC - Remote Procedure Call with XML and HTTP
RPC::XML - Perl Implementation of XML-RPC
Integrating Perl with Apache Web Server
References
Printable Copy - PDF Version