Perl training classes     
USACanada     UK     Ireland     The Netherlands     Sweden     International  
1 877 849 1850   0808 234 2132   1 800 550 311   0 800 022 6730   020 795 420   +1 678 648 3113  
  Home   Contact Us
XML training * MySQL & PHP Training * Tomcat Training * Perl Training
Ajax Training *Dojo Training *Ruby on Rails Training * Groovy Training * Grails Training * Python Training
HTML, XHTML, & JavaScript Training * Authorware Training * Articulate Training * Live Online Training


 * Perl Training: Introduction to Perl Programming
 * Perl Training: XML Applications with Perl



Please contact us
for GSA pricing
and CMAS pricing.

GSA
Contract #
GS-35F-0307T

 CMAS Approved Contractor
Contract #
3-09-70-2645A



Complimentary Perl Training Seminar

Organizations in the Atlanta, Georgia area are encouraged to contact Accelebrate® about having a complimentary, one-hour Perl training seminar delivered on a Perl-related topic for their staff. Contact us today for more information.



Recent Training Venues

Accelebrate has recently trained for clients in the following cities:

  • Huntsville, Alabama
  • Montgomery / Birmingham, Alabama
  • Anchorage, Alaska
  • Calgary, Alberta
  • Phoenix, Arizona
  • Fayetteville / Little Rock, Arkansas
  • Amsterdam, The Netherlands / Brussels, Belgium
  • Oakland / San Jose / San Francisco, California
  • Sacramento, California
  • Oceanside / San Diego, California
  • Pasadena / Orange County / Los Angeles, California
  • San Bernardino / Riverside, California
  • Boulder / Colorado Springs / Denver, Colorado
  • Washington, DC
  • Wilmington, Delaware
  • Manchester / London, England
  • DeLand / Orlando, Florida
  • Fort Lauderdale / Miami, Florida
  • Gainesville / Jacksonville, Florida
  • Saint Petersburg / Tampa, Florida
  • Titusville & Melbourne, Florida
  • Alpharetta & Atlanta, Georgia
  • Augusta & Savannah, Georgia
  • Macon & Columbus, Georgia
  • Boise, Idaho
  • Bloomington, Illinois
  • Chicago, Illinois
  • Indianapolis, Indiana
  • Cedar Rapids / Des Moines, Iowa
  • Dublin, Ireland
  • Kingston, Jamaica
  • Wichita, Kansas
  • Paducah / Lexington / Louisville, Kentucky
  • Baton Rouge, Louisiana
  • Valletta, Malta
  • Hagerstown & Frederick, Maryland
  • Greenbelt / Silver Spring / Baltimore, Maryland
  • Boston / Cambridge, Massachusetts
  • Hartford, Connecticut / Springfield, Massachusetts
  • Taunton, Massachusetts / Providence, Rhode Island
  • Ann Arbor / Farmington Hills / Detroit, Michigan
  • Grand Rapids, Michigan
  • Lansing, Michigan
  • Saginaw / Flint / Bay City / Midland, Michigan
  • Saint Paul / Minneapolis, Minnesota
  • Jackson, Mississippi
  • Gulfport / Biloxi, Mississippi
  • St. Louis, Missouri
  • Whiteman Air Force Base / Kansas City, Missouri
  • Lincoln / Omaha, Nebraska
  • Reno and Las Vegas, Nevada
  • Santa Fe / Albuquerque, New Mexico
  • Newark, New Jersey
  • Princeton, New Jersey & Philadelphia, Pennsylvania
  • White Plains / New York City, New York
  • Charlotte, North Carolina
  • Durham / Raleigh, North Carolina
  • Bowling Green / Toledo, Ohio
  • Canton / Akron, Ohio
  • Cincinnati, Ohio
  • Cleveland & Columbus, Ohio
  • Dayton, Ohio
  • Tulsa / Oklahoma City, Oklahoma
  • Toronto, Ontario
  • Portland, Oregon
  • Pittsburgh, Pennsylvania
  • Providence, Rhode Island
  • Edinburgh / Glasgow, Scotland
  • Columbia & Charleston, South Carolina
  • Stockholm, Sweden
  • Chattanooga / Knoxville, Tennessee
  • Memphis / Jackson / Nashville, Tennessee
  • College Station and Houston, Texas
  • El Paso, Texas / Ciudad Juarez, Mexico
  • San Antonio / Austin, Texas
  • Wichita Falls & Dallas, Texas
  • Ogden / Salt Lake City, Utah
  • Burlington, Vermont
  • Fairfax / Dulles / McLean / Herndon / Reston, Virginia
  • Richmond / Alexandria / Arlington, Virginia
  • Virginia Beach / Norfolk, Virginia
  • Tacoma / Seattle, Washington
  • Madison / Milwaukee, Wisconsin

 

Perl Training: CGI Programming with Perl

Print This Outline
E-mail This Outline
Get A Quote
Course Number: 700
Duration: 5 days; longer/shorter upon request
view class outline

CGI Programming with Perl Training Overview

Perl is a powerful scripting language that has been popular for more than a decade. In this engaging, hands-on class, attendees learn how to use Perl CGI (Common Gateway Interface) scripts to develop database-driven Web applications.

Location and Pricing

Most Accelebrate courses are taught on-site at our clients' locations worldwide for groups of 3 or more attendees and are customized to their specific needs. Please visit our client list to see organizations for whom we have recently delivered training. These courses can also be delivered as live, private online classes for groups that are geographically dispersed or wish to save on the instructor’s or students’ travel expenses. To receive a customized proposal and price quote private training at your site or online, please contact us.

In addition, some courses are available as live, online classes for individuals.  To see a schedule of online courses, please visit http://www.accelebrate.com/online_training/xml_html_js.htm.

CGI Programming with Perl Training Prerequisites

Prior knowledge of HTML, as taught in Mastering XHTML and CSS, is required. This course can be adapted to any level of programming experience, from first-time to veteran programmers.

Hands-on/Lecture Ratio

This Perl training class is 70% hands-on, 30% lecture, with the longest lecture segments lasting for 10 minutes. Students "learn by doing," with immediate opportunities to apply the material they learn to real-world problems.

CGI Programming with Perl Training Materials

All Database-Driven CGI Programming with Perl training students receive a copy of Peachpit Press's Perl and CGI for the World Wide Web and related course material.

Software Needed on Each Student PC (or a Server Accessible via Telnet or Remote Desktop Connection)

  • Windows, MacOS, or Unix operating system
  • The latest version of Perl installed
  • A text editor for editing the Perl scripts (please contact us to discuss the best editor for your environment)
  • A web server with Perl installed (such as Apache httpd with Perl and mod_perl, or Microsoft IIS with ActivePerl)
  • CGI.pm (downloadable from http://stein.cshl.org/WWW/software/CGI/) and DBI.pm (downloadable from CPAN at http://search.cpan.org/search?module=DBI)
  • A database of the customer's choice (MySQL recommended; almost all major databases can be accommodated)
  • The appropriate DBD (DBI database driver) for the database

Accelebrate welcomes the opportunity to assist its clients with configuring their environment for class.

CGI Programming with Perl Training Objectives

  • To learn the fundamentals of the Perl programming language and how it can be used to write Web-based applications
  • To master the use of the CGI.pm module, which greatly streamlines development of Perl CGI scripts
  • To discover how to use of the DBI.pm module and related DBD (driver) files with Perl to build database-driven applications

CGI Programming with Perl Training Outline

  • Introduction
  • Introducing Perl and CGI
    • Origins of the language
    • The difference between Perl and CGI
    • The relationship between Perl and HTML
    • Understanding the Web browser-Web server relationship
    • Installing and configuring Perl for your environment
      • Will be customized to Windows, MacOS X, Linux, Solaris, or another operating system based on the attendees' server platform
    • Extending Perl's functionality with modules
    • The roles of CGI.pm and DBI.pm
  • Perl building blocks
    • Perl data
    • Operations and functions
    • Quotation marks
    • Quoting without quotes
    • Statements, blocks, and scope
    • Declaring private variables
    • The "shebang" line
    • Creating a Perl CGI script
    • Creating output for a browser
    • Documenting your script
    • Checking the script's syntax
  • Getting data from visitors (can be accelerated or skipped if attendees are fluently familiar with HTML forms)
    • Labeling incoming data
    • Creating a form
    • Creating:
      • Text boxes
      • Password fields
      • Text areas
      • Radio buttons
      • Check boxes
      • Select lists and menus
      • Submit and reset buttons
      • Image buttons
    • Specifying the action of the form
    • Understanding form methods: GET vs. POST
    • How your script processes data from a form
    • How your script processes data passed via a hyperlink
  • Environment variables
    • Your visitor's browser and platform
    • Viewing available environment variables
    • Storing data from environment variables
  • Getting data into the script
    • Getting single-value form data
    • Getting multiple-value form data
    • Getting the names of all form elements
    • Retrieving values from each of these elements
  • Simple operations with scalar variables
    • What is a scalar variable?
    • Assigning a value to a scalar
    • Multiplying, dividing, adding, subtracting
    • Using more than one operators
    • Raising a number to an exponential power
    • Using mathematical functions
    • Concatenating (joining) strings
    • Repeating a string
    • Operating and assigning in one step
    • Incrementing or decrementing a variable
  • Conditionals and loops
    • Comparing numbers
    • Comparing strings
    • Evaluating conditions without comparisons
    • Testing two or more comparisons at a time
    • Creating a basic conditional statement
    • Adding options for false conditions
    • Adding multiple, independent conditions
    • Using unless
    • Loop structures:
      • while and until
      • for
      • foreach
    • Using break to exit a loop
    • Using continue to start the next iteration of a loop
  • Working with arrays
    • Assigning a list to an array variable
    • Referring to a particular item in an array
    • Referring to multiple items from an array
    • Using shift(), unshift(), push(), pop(), and splice() to add, remove, or replace items in an array
    • Using sort() and reverse() to change the order of an array
    • Using length() to determine how many elements are in the array
  • Subroutines
    • Why create subroutines?
    • Using a simple subroutine
    • Creating and calling subroutines
    • Processing values passed to a subroutine
    • Returning a value from a subroutine
    • Storing subroutines in a separate file
    • Loading subroutines from a separate file
  • Working with hashes
    • Why use hashes?
    • Assigning a list to a hash
    • Getting a value using a key
    • Adding or replacing a key-value pair
    • Getting several values using keys
    • Getting all of a hash's keys
    • Getting all of a hash's values
    • Getting each key and value in a hash
    • Getting pairs in a specified order
    • Removing key-value pairs
  • Analyzing data and validating form submissions
    • Why analyze data?
    • In-depth primer on regular expressions, which enable simple or complex patterns to be detected within text strings
    • Finding something
    • Finding and replacing
    • Seeing and using what was found
    • Splitting a value into pieces
    • Constructing search patterns
    • Matching a single character
    • Matching a string of characters
    • Matching a character from a group
    • Matching a character that's not in the group
    • Using class shorthands
    • Advanced regular expression techniques
    • Form validation
      • Client-side, server-side, or both?
      • Defining validation rules and analyzing submitted data
      • Returning messages back to the user about whether their form submission is valid or invalid
  • Remembering what visitors tell you
    • Overview of strategies for maintaining user information and application state
    • Using hidden fields to store and pass data
    • Using cookies to store and pass data
      • Setting a cookie
      • Restricting a cookie by domain and/or path
      • Setting the expiration of a cookie
      • Requiring the presence of a secure connection
      • Retrieving and working with cookie values
      • What to do when a user's browser refuses to accept a cookie
  • Formatting output
    • Formatting output with Perl
    • Creating a format pattern for integers
    • Creating a format pattern for non-integers
    • Creating a pattern for strings
    • Changing case
    • Changing characters
    • Finding the length of a string
    • Extracting one string from another
    • Cleaning up the end of a string
  • Formatting output with HTML
    • Overview of CGI.pm's capabilities for automatically-generating HTML
    • Generating the HTTP header
    • Using start_html() to generate the document head
    • Concluding the page with end_html()
    • Dynamically generating text and tables of text
    • Dynamically generating hyperlinks and images
    • Dynamically generating forms
    • Styling output with CSS
  • Introduction to CGI/Perl security
    • Reading the security FAQs
    • The problem with visitor input
    • Protecting calls to the system
    • Limiting access to files
    • Using CGI.pm to limit incoming data
    • Keeping information to yourself
    • Avoiding tainted data
    • Cleaning and using outside data
  • Files and directories
    • Opening a file
    • Verifying file and directory operations
    • Writing to an external file
    • Getting exclusive access to a file
    • Reading data from an external file
    • Closing a file
    • Renaming or removing a file
    • Checking a file's status
    • Opening, reading from, and closing directories
    • Changing the working directory
    • Creating a directory
    • Changing permissions from within a script
    • Removing a directory
  • Generating email messages from your scripts
    • Routing data from Perl to mail, sendmail, or another application or module that will mail it
    • Important security considerations
    • Adding file attachments
  • Processing file uploads
    • Why upload files via HTML forms?
    • Setting the enctype and method of the form to facilitate uploads
    • Defining one or more file fields in the form
    • Controlling where the uploaded file is saved
    • Preventing common security issues that can arise when saving uploaded files
  • Database connectivity: introducing the DBI module
    • Origins of DBI, the database interface module
    • DBI architecture
    • Overview of available DBDs (database drivers)
    • Setting up and configuring DBI and DBDs
  • Selecting records from the database via ad hoc queries
    • Building a SQL SELECT statement
    • Sending the SQL statement to the database for execution
    • Displaying a single value returned from the database
    • Displaying multiple rows of data returned from the database
    • Handling errors that can occur when interacting with the database
  • Inserting, updating, and deleting records
    • Building SQL INSERT, UPDATE, and DELETE statements
    • Building Web-based interfaces for inserting, updating, and deleting database records
    • Validating user input
    • Prompting the user for confirmation
    • Grouping related operations together as transactions so that they either all succeed or all fail
  • Invoking stored procedures
    • Why use stored procedures instead of ad hoc SQL queries?
    • Defining stored procedures
    • Invoking stored procedures
    • Passing input parameters to stored procedures
    • Retrieving output parameters from stored procedures
    • Handling in/out parameters
  • Finding, downloading, and installing additional Perl modules from CPAN (the Comprehensive Perl Archive Network)
  • Conclusion
 

Print This OutlineE-mail This OutlineGet A Quote


Java® and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries.

MySQL™ and all MySQL-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. or its subsidiaries in the U.S. and other countries.

Accelebrate®
Focuses on You!


Accelebrate’s courses are taught for private groups of 3 or more people at your site or online anywhere worldwide.

Don't settle for a "one size fits all" public class! Have Accelebrate deliver exactly the training you want, privately at your site or online, for less than the cost of a public class.

For pricing and to learn more, please contact us via information request form or phone, or email us at info@accelebrate.com today.

VB.NET, C#, ASP, & ASP.NET Training * Java Training * SQL Server Training
Adobe Training * PHP Training * XML Training * Perl Training

“Accelebrate,” “Accelerated Learning Celebrated Results,” and the Accelebrate logo are registered trademarks of Accelebrate, Inc. All other product names and trademarks are property of their respective owners. Course outline content may mirror or be derived from the book that each student receives with the course. Otherwise, all content is copyright © 2003-2006 by Accelebrate, Inc. of Atlanta, Georgia, USA. To contact us, please use the contact form, email info@accelebrate.com us, or call 1 877 849 1850 in the US and Canada, 0808 234 2132 in the UK, 1 800 550 311 in Ireland, or +1 678 648 3113 from all other locations.

Recent client sites: Birmingham, AL | Phoenix, AZ | Los Angeles, CA | Sacramento, CA | San Diego, CA | San Francisco, CA | San Jose, CA | Denver, CO | Washington, DC | Jacksonville, FL | Miami, FL | Orlando, FL | Tampa, FL | Atlanta, GA | Chicago, IL | Indianapolis, IN | Boston, MA | Baltimore, MD | Detroit, MI | Minneapolis, MN | Kansas City, MO | Saint Louis, MO | Charlotte, NC | Raleigh, NC | Albuquerque, NM | Las Vegas, NV | New York City, NY | Cincinnati, OH | Cleveland, OH | Columbus, OH | Dayton, OH | Oklahoma City, OK | Toronto, ON | Portland, OR | Philadelphia, PA | Pittsburgh, PA | Memphis, TN | Nashville, TN | Austin, TX | Dallas, TX | Houston, TX | San Antonio, TX | Salt Lake City, UT | Seattle, WA | Dublin, Ireland | London, UK

About Accelebrate IT Training VB.NET, C#, and ASP.NET Training Java, Struts, and JSP Training Adobe Training Microsoft SQL Server Training XML Training, PHP Training, Perl Training, and Other Courses Database and Reporting Training