Perl Training
This is the overview of a two or more day Perl training class that I have taught. It concentrates on using Perl for website development
  • 1: The Perl Mindset
    • Perl methodology
    • Cross Platform, Perl for everyone
    • Perl vs other web development systems. (why Perl?)
    • MacPerl, NT Perl, LinuxPerl, UNIX Perl
  • 2: Basic Perl syntax
    • Single line programs
    • STDIN and STDOUT, the Perl console (yes even on the Mac)
    • Running Perl from your web server
    • Debugging while running as a CGI
  • 3: Basic Operators and Control Flow
    • Scalar Variables, to define or not to define.
    • Math and string functions
    • More Perl operators
    • Conditional and looping statements
    • Branching
    • Comparing strings
  • 4: Usefull C commands carried over to Perl
    • Autoincrement/Autodecrement
    • Bit Manipulation
    • calling directly through to the system calls
  • 5: Lists and Arrays
    • creating arrays from lists
    • accessing list/array elements
    • multi-dimentional arrays
    • concatenating lists to form arrays
    • length of arrays
    • Push/Pop
    • Reading an array from a file
    • Array functions:
      • Sort
      • reverse
      • chop
      • split
      • other functions
  • 6: Associative Arrays (vital to web programming!)
    • What is an associative array?
    • Adding and Deleting Array Elements
    • Accessing Array Elements
    • How the header and form imformation of the web can be stored in an associative array
    • looping with associative arrays (the foreach command)
    • keys element
  • 7: Pattern Matching
    • Match operators
    • Special characters
    • Escaping special characters.
    • Pattern Mathing options
    • Pattern Sequence operators
    • Patters Substitution
    • Matching globally
    • Ignoring Case
    • Translation
  • 8: Subroutines and OO Perl
    • Is Perl Object Oriented?
    • Using subroutine syntax
    • Passing vars to and retrieving data from subroutines
    • global vs local vs me variables and why it matters
    • Recursion
  • 9: The File System
    • Opening files/creating files
    • File System Errors
    • reading into array variables
    • Reading the whole file into a single variable
    • writing to a file
    • closing the file
    • File test operators
    • reading the directory structure
    • differences between Mac/NT/UNIX perl
    • the `` operator
  • 10: More String Manipulation
    • index
    • rindex
    • substr
    • length
    • study
    • join
  • 11: Special Perl techniques for the web
    • reading the forms data from your web site
    • returning HTML to the browser
    • parsing returned data
    • to use a CGI package or to role your own
    • the EVAL command
    • state preservation?
    • passing state data in hidden vars
    • using Perl for SSI and the ARGV var
    • Sending email from perl
    • connecting Perl to databases via ODBC, DBD/DBI
    • Security concerns
    • optimization for speed and server load
    • sending other things than just HTML to the browser
      • Redirects
      • sending graphics
      • creating GIF's on the fly
    • using Perl to create HTML that writes javascript that writes HTML
    • using eval to rebuild state and the security concerns of using this.

    This was originally to be taught over 2 days spending the last part concentrating on developing a specific project or solving a specific web problem. It was designed for people with some programming experience beyond simple HTML coding and some familiarity with web techniques and issues. But this can be customized for each individual setting. Also I can concentrate on areas of specific concerns to the developers and skip over areas where they may already be well versed.

    If interested in setting up a class or pricing information and availability please contact James Sentman