CGI and Perl

Perl Tutorials

  1. Introduction and Overview
  2. What This Tutorial Is Not
  3. What This Tutorial Will Provide
  4. The Layout of This Tutorial
  5. CPAN History
  6. CPAN Layout
  7. A Perl5 Overview and Tutorial
  8. Usability and Simplicity
  9. Lexical Scoping
  10. Data Structures
  11. Modules and Libraries, Extensible and Embeddable
  12. Enhanced Safety and Security
  13. Other New Features in Perl5
  14. References
  15. The Short History of Perl Extensions
  16. A simple extension module.
  17. Using the simple extension module.
  18. The Customer module.
  19. Using the Customer module.
  20. Object-Oriented Techniques: Subclassing the Customer module
  21. Using the MyCust subclass.
  22. Overriding Customers methods.
  23. Using the overridden method in MyCust.
  24. Augmenting base class methods.
  25. Practical Issues for Using Modules: Downloading and Installation
  26. Security on the Web
  27. Server Configuration Options
  28. File Permissions Setup and Monitoring Changes in the System
  29. General ConsiderationsGlobal versus Local Configuration of Permissions
  30. Directory Access Configuration
  31. Whos There? Configuring Client IP/Domain Restrictions
  32. Whos There? User/Group Verification
  33. Changing Passwords from the Web
  34. Monitoring Userids
  35. General Considerations: Dos and Donts
  36. Tools for Executing CGI Safely
  37. The Safe Module
  38. Transaction Security
  39. Simplified PGP Transactions Using the PGP Module
  40. Running httpd in the chroot(2)Environment
  41. Monitoring Filesystem Changes,Network Security, and Analyzing Password Security
  42. HTML FormsThe Foundation of an Interactive Web
  43. Text and Password Fields
  44. Checkboxes
  45. Hidden Fields and Submit Buttons
  46. Image Buttons
  47. Listboxes
  48. Popup Menus
  49. File-Upload Fields
  50. Image Maps
  51. Generating HTML On-the-Fly with Perl5
  52. Perl code for customer questionnaire.
  53. Included Files
  54. parsessi.pl CGI program for including and parsing a .shtml file.
  55. Other Elements Within Elements
  56. Perl code that emits a form formatted using the <TABLE> object.
  57. Other Objects: Applets, Images, Animation, and the <EMBED> Tag
  58. What Forms Cannot Provide
  59. HTTP Transactions
  60. The Connection
  61. The Request
  62. Table 5.1. HTTP FullRequest methods.
  63. Table 5.2. URI Characters That Must Be Encoded.
  64. Table 5.3. Headers.
  65. What Happens after the Request
  66. The Response
  67. CGI.pm versus Individual libwww Modules
  68. Using CGI.pm with forms
  69. Open a new browser window
  70. Upload a file to the server
  71. Using the HTTP::Request Module Directly
  72. MIME Documents
  73. The Content-Type Header Field
  74. How MIME Data Is Encoded, Q Quoted-Printable Encoding and Using MIME::Base64
  75. MIME attachment, Using MIME::QuotedPrint
  76. Determining Fields of Information
  77. Setting Up the Database
  78. Perl subroutine for printing the guest book form.
  79. Perl subroutine to process the form data.
  80. CGI program to display the guest list.
  81. Setting Up the Web Server to Log Access, Parsing the Access Log
  82. CGI script that displays a graphical hit counter.
  83. Parsing the AgentLog
  84. Clickable Maps
  85. Creating the Map
  86. Subroutine to return a search form.
  87. Subroutine to search for a list of words.
  88. Displaying the Results with A simple CGI searching program
  89. Displaying the Form
  90. Subroutine to print a license plate form.
  91. Subroutine to search for a specific license plate in the database.
  92. Subroutine to print the information found about the license plate.
  93. Subroutine for sending e-mail notification.
  94. Database Access
  95. DBI
  96. Records to be imported into database
  97. Program that imports data into an mSQL database
  98. Create an HTML Index from a Database
  99. Program that writes HTML from the database
  100. about a single item in the database.
  101. Searching the database for keywords
  102. Open Database Connectivity (ODBC)
  103. AgentsWeb Scanning, Mirroring, and Background Tasks
  104. HTML returned by the Security APL Quote Server.
  105. Automatic stock quote retriever (getquote.pl).
  106. Subroutine to extract the quote information.
  107. General purpose URL retriever going through a firewall.
  108. Generating Web Indexes
  109. The crawlIt() main function of the Web spider.
  110. Converting a relative URL to an absolute URL.
  111. Writing the title and URL to the log file.
  112. Mirroring Remote Sites
  113. Modified function to convert relative URLs to absolute URLs.
  114. Modified crawlIt() function for mirroring a site.
  115. Search Engines
  116. On-Site Searching with Glimpse
  117. GlimpseHTTP
  118. Search the Web with WWW::Search
  119. a real world example of WWW::Search.
  120. Datebooks, Calendars, and Scheduling on the Web
  121. HyperCalA Modular Perl5 Calendar and Datebook
  122. hypercal.cgi
  123. Variables and configuration file for HyperCal.
  124. Displaying Appointments on a Specific Day: disp_day.cgi
  125. add_date.cgi.
  126. password.change.
  127. Multimedia
  128. GD::Image Module
  129. GD::Polygon Module
  130. GD::Font Module
  131. Hangman Using the GD Module
  132. Server Push Animation Techniques
  133. Embedding AVI, QuickTime, WAV, and GIF89a within HTML
  134. Implementation Issues
  135. Dynamic Generation of Forms
  136. MiniVend Package
  137. Installation and Configuration
  138. Use and Customization
  139. Setting Up Your minivend.cfg File
  140. The main catalog page.
  141. The search page.
  142. The browse page.
  143. The results display page.
  144. The order page.
  145. Frames and Additional Tools for Administration of Your Site
  146. Security and General Archive Management Considerations
  147. Planning, Design,and Layout
  148. Revision Control
  149. Summary of Archive Management Issues
  150. General Parsing Issues
  151. simpleparse.
  152. simpleparse-net.
  153. relativize.
  154. Parsing HTTP Logfiles
  155. GD_Logfile.pm.
  156. GD_Logfile.test.
  157. Converting Existing Documentation to HTML
  158. Making Existing Archives Available via HTTP
  159. Client-Side Perl
  160. Embedded Perl Interpreter in a
    Web Browser
  161. Executing Perl as a Helper Application
  162. HelperAppPerl.
  163. PenguinA New Paradigm in Remote Execution
  164. Parsing Netscape History Files
  165. The Need for an Extended Session
  166. A very simple calculator
  167. A personal notepad.
  168. A Web-based command shell.
  169. Embedded ObjectsAn Internet Proposal
  170. Netscape Cookies and Other Netscape Feature Tags