Computer Sciences Department logo

CS 368-3 (2012 Summer) — Introduction to Perl

Offered by the University of Wisconsin–Madison, Department of Computer Sciences


Dates June 18 (Mon) through August 9 (Thu) — eight weeks
Times Mondays and Thursdays, 11:00–11:50 a.m.
Location Engineering Hall 3024
Instructor Tim Cartwright : CS 4265 : cat [@] cs [.] wisc [.] edu
Mailing List compsci368-3-su12-dhh [@] lists [.] wisc [.] edu

Office Hours

Mondays, 2:30–3:30 p.m. and Fridays, 10–11 a.m. in CS 4265 (my office).

You can also make an appointment (by email is probably best) to talk to me. I work full time here in the CS building, so will often be available. However, dropping by my office without an appointment is not guaranteed to work.

Course Books & Other Resources

There are no required books to buy for this course. There are a few Perl books that I suggest using, and they are available for free online through the UW library system. Plus, there are plenty of good resources available elsewhere online. Here are a few (including the book) to get started:

To access these use the links below and select “Available through Safari Books Online”. If you are off-campus, you'll need to use the link “Off Campus? Login To Our Remote Access System First” to get set up first.

Extra Support

If you are new to programming or using the command line, I wrote a few pointers to get started.


Slides and homework assignments are posted just prior to each class.

# Day Topic Reading Slides Homework
1 18 June (Mon) Overview and Perl Basics LP6: Ch.1, Introduction PDF homework
2 21 June (Thu) Basic Syntax LP6: Ch.2, Scalar Data PDF homework
3 25 June (Mon) Collections LP6: Ch.3, Lists and Arrays
LP6: Ch.6, Hashes
PDF homework
4 28 June (Thu) Basic I/O LP6: Ch.5, Input and Output PDF homework
5 2 July (Mon) Subroutines LP6: Ch.4, Subroutines PDF homework
6 5 July (Thu) Standard Library PP3: Ch.29, Functions [skim] PDF homework
7 9 July (Mon) Correctness
(errors, debugging, testing)
PP3: Ch.20, The Perl Debugger
Perldoc: Test::Simple, Test::More
PDF homework
8 12 July (Thu) Data Structures perlreftut PDF homework
9 16 July (Mon) Regular Expressions I
LP6: Ch.7, In the World of RegExps
LP6: Ch.8, Matching with RegExps
PDF homework
10 19 July (Thu) Regular Expressions II
(adv REs & usage)
LP6: Ch.8, Matching with RegExps
LP6: Ch.9, Processing Text with RegExps
PDF homework
11 23 July (Mon) System Interaction LP6: Ch.16, Process Management PDF homework
12 26 July (Thu) Recipes I:
dates, times, writing files
[pick sections of interest]
PC2: Ch.3, Dates and Times
PC2: Ch.7, File Access (esp. 7.11, 7.19)
PDF homework
13 30 July (Mon) Recipes II:
(mostly) numeric data
[pick sections of interest]
PC2: Ch.2, Numbers
PC2: Ch.8, File Contents
PDF homework
14 2 August (Thu) Recipes III:
PC2: Ch.4, Arrays
PC2: Ch.5, Hashes
PDF homework
15 6 August (Mon) Security & Performance [as you see fit:]
Perldoc: perlsec
Perldoc: Benchmark module
PDF homework
16 9 August (Thu) Script Development PDF

Reading Legend: