Skip to page content Skip to section menu Skip to site-wide navigation About Us | Consultancy | Training | Software | Publications | Open Source | Support | Open Standards | FAQ | Jobs
Site Style Info

Perl Programming with Web Development — a 5-day course

Synopsis

A Perl training course designed cover all the basics of Perl Programming and also enable web developers to build dynamic (database-driven) e-commerce web sites using the Perl programming language, its specialist web modules and CGI (the common gateway interface).

This Perl course includes a thorough grounding in generic Perl programming before covering specialised Perl web development tools and techniques (the stuff that some people think of as CGI Perl) on the final day.

If you are new to programming or web development and are contemplating the use of Perl we suggest that you read our notes on introductory courses first.

Suitable for

Delegates with backgrounds in C-like languages will recognise elements of Perl syntax and can use existing knowledge to progress quickly, but they must beware the temptation to translate literally from C/C++. Perl's native way of doing things is invariably more flexible and better adapted to specialist web development tasks.

Like all of our perl training courses, this course is designed for cross-platform application (e.g. Microsoft Windows, IIS, Apache, MacOS, and Linux/Unix). Unix/Linux developers will benefit particularly from Perl variants of popular Unix tools and from the abundance of Perl modules for use with Unix and the Apache web server.

Prerequisites

Delivery

This is a hands-on practical workshop based around the coding of real world solutions to real world web developers' problems.

This course can be run both as in-house training for company groups and is also a scheduled public course for individuals.

The general Perl programming issues are taught as our four-day Perl Programming course with an extra day devoted exclusively to web development tools and techniques. See , our general perl programming course outline for detailed descriptions of it’s course content. This shorter version is only available for private company groups 'in-house'.

Please contact us at training@gbdirect.co.uk to arrange delivery of this course for your company or to register an interest in an individual place on a public presentation of this course. Please state clearly which of these options applies to you.

Publicly scheduled dates, locations, and prices

A schedule of dates for this subject is not currently available. Please call 0800 651 0338 or use our contact form to enquire about places and availability.


Contents

Preparing to learn perl

  • Things you need to know and do in order to run Perl programs and learn Perl programming
  • A module designed for complete beginners
  • The perl compiler/interpreter
  • Perl under Unix/Linux
  • Perl under MS Windows 2000/NT/95/98/ME (perl.exe)
  • ActiveState Perl
  • Making programs executable (chmod +x)
  • Perl from the command line (perl command)
  • Specify the perl compiler/interpreter (#!)
  • Using plain text for programs
  • Writing a very simple program
  • Running a very simple program
  • Basic syntax

Perl: the absolute minimum

  • Enough of the language to get started
  • The print function
  • Variables
  • Scalars — numbers and strings
  • Assignment
  • Simple conditional tests — if
  • Lists
  • Arrays — for storing lists
  • foreach loops
  • Hashes
  • Other loops: while, for, do, until
  • Arrays — the rest
  • Simple input, e.g., while(<>)
  • Functions overview — recognising, writing, using
  • Simple file handling — open, print
  • Subroutines — parameters in and out, listification, local variables (my)
  • Help — perldoc, books, web

Regular expressions

  • Text manipulation with regular expressions
  • Matching strings
  • Matching the default variable
  • Case-sensitivity and matching
  • Special characters
  • Special characters: where
  • Special characters: what
  • Special characters: how many
  • Built-in character classes
  • Built-in character class examples
  • Capturing
  • Regular expression examples
  • Substitution
  • Global substitutions

Perl: beyond the basics

  • More flow control
  • Statement modifiers
  • Quoting mechanisms — qq(), etc.
  • Here documents
  • Uppercase/lowercase conversion
  • Splitting strings into lists
  • Joining lists into strings
  • Filtering lists with map
  • Sorting lists
  • The importance of context
  • Assignment shortcuts
  • Scoping rules
  • Special variables

Complex data structures & references

  • Limits of flat lists
  • Nesting arrays
  • Array references
  • Anonymous arrays
  • Named array references
  • Passing multiple arrays to/from functions
  • Hashes of arrays
  • Hash references
  • Arrays of hashes
  • Hashes of hashes
  • Complex nested data structures
  • Code references
  • Dispatch tables

Finding Out More For Yourself

  • How to read Perl's documentation
  • Where to find more information
  • Knowing what's out there to look for
  • FAQs

Using Perl Modules from CPAN

  • The Comprehensive Perl Archive Network (CPAN)
  • Why effective Perl programmers are efficient CPAN users
  • CPAN's philosophy
  • Finding modules
  • Installing Modules
  • Using modules
  • Some particularly useful modules

The Perl debugger & debugging perl

  • Avoiding bugs
  • Perl's built-in debugger
  • Invoking the debugger
  • What you can do with the debugger
  • Understanding the debugger's command line interface
  • Knowing the debugger's basic command set
  • Exploring some extended functions
  • Graphical debuggers
  • Alternative debugging techniques

Command-Line Perl

  • General principles
  • Using Perl as a filter
  • Editing files in-place
  • Many real world examples
  • Command line flags
  • Many examples using regular expressions

A Whistle-Stop Tour of the World of Perl

  • Wheels you don't need to re-invent
  • Common recipes
  • Common pitfalls

Perl Style

  • The Philosophy of Perl
  • Why good style is important
  • Good style
  • Bad style

Handling Databases with Perl

  • Interacting with SQL databases from Perl
  • Using DBI
  • Connection/disconnection, log in/log out
  • Retrieving a single record
  • Retrieving multiple records
  • Update/insert queries
  • Placeholders and bind values
  • Connecting through ODBC

Advanced File Processing with Perl

  • Types of open
  • Filehandles
  • Reading line by line
  • Reading paragraph by paragraph
  • Reading entire files
  • Special variables
  • The flip-flop operator (..)
  • File test functions
  • Pipes

System interaction

  • Connecting to other programs
  • Unsafe pipes
  • Using IO::Pipe
  • Grabbing a program's output
  • Other ways to run programs

Perl Security Issues

  • Potential security pitfalls
  • Coding for security
  • Taint checking
  • Dangerous environment variables
  • File input
  • Set-user-id Perl programs
  • Permissions and users

Introduction to CGI Programming With Perl

  • Printing a CGI header for a simple command-line program
  • Running the simple program as a CGI script
  • Form handling — CGI::Lite for parameter parsing
  • GET
  • POST
  • Debugging CGI programs
  • Running CGI programs at the command line

More Advanced CGI Techniques

  • Hidden fields
  • Maintaining state
  • Cookies
  • CGI & HTTP headers
  • Redirection to other pages
  • File uploading

Web Security Issues

  • CGI scripts and security
  • User input on the web
  • Guest books
  • Dangerous strings
  • Unsafe process calls
  • File upload exploits
  • Safe database access
  • Permissions for CGI programs