Perl Tutorial

About the instructor

William R. Ward has been a Perl instructor at De Anza College in Cupertino, California since June 1999. He is the former Manager of Training for Cellmania, Inc., where he designed and delivered enterprise mobile business platform training. He has also delivered Perl tutorials as part of Silicon Valley’s celebrated Mindsource Software Engineers “lunchtime BOF” series.

About the class

Spend your Saturday learning the ins and outs of Perl. Extensive introduction to Perl, with lab exercises. Covers beginning through intermediate Perl language skills, such as manipulating files and directories, regular expressions, Perl data structures, good programming practices, and more. The class covers the following topics:

Introduction History of Perl
Philosophy of Perl
Hello World and other code examples
Scalars Literal scalar values (Numbers and Strings)
Creating and accessing scalar variables
Numeric and String Operators
Functions for manipulating scalars
Flow control: Loops and Conditionals if/elsif/else, while, for, foreach, do/while
Using unless and until
Suffix style syntax for loops
Jumping around in loops
Looping idioms
Running and debugging Perl Perl command line
Program arguments
Using strict and warnings
Debugging techniques
Style suggestions
Online documentation
Lists and Arrays Creating a list
List functions
Creating and accessing arrays
Array slices
Array functions
Converting between arrays and scalars
Hashes Creating and accessing hashes
Hash slices
Hash functions
Hash loop idioms
Regular Expressions Regular Expressions in Perl
Anchoring regular expressions
Matching groups of characters
Specifying how many
Grouping and Memorization
Regular Expression Modifiers
Alternative delimiters
Files and Directories Opening Files
Reading and writing files
“open or die”
Built-in Filehandles
Reading Directories and Globbing
File Test Operators
Subroutines Why subroutines
Defining and calling subroutines
Passing and returning values
Scalar and list context
Perl Modules What is a Perl module?
Types of modules
Using a module
Writing a module
Installing modules


  • The course does not assume any prior Perl knowledge. However, it assumes you can do basic text editing and understand fundamentals of writing scripts or programs, including the basic concepts of variables and arrrays.
  • Some programming experience is strongly recommended, in a language such as C, C++, Java, Javascript, or Linux/Unix shell scripting.


Weekend courses are held on Saturdays from 9:00 AM to 6:00 PM with a one hour break for lunch from noon to 1:00 PM. Light snacks and beverages are included. The course consists of approximately 4-5 hours of lecture and 3-4 hours of lab time (spread out throughout the day). Each student has his or her own workstation for the lab exercises.