School of Library and Information Science
Indiana University
Summer I 1998

L595 Perl Workshop

June 6th and 7th

Instructor: Uta Priss
Office: 022 SLIS
Office phone: 812-855-2793
Office hours: Wednesday June 10th, 2.00 - 3.00


Perl is a programming language which combines some of the features of UNIX and C. It facilitates the processing of large text files, such as database records. It is therefore potentially useful for information or social scientists who want to manage or research large amounts of data. For example, files can be downloaded from the Internet and searched for certain patterns, database records can be transformed from one format into another, programming code can be translated from one language into the other, and so on. Furthermore, many CGI applications on the Internet involve automated data manipulation which can be handled by a Perl script.

This one credit hour hands-on workshop provides the students the opportunity to learn how Perl can be used to manipulate textual data in a flexible manner. Small sample applications will be used to teach the basic Perl concepts. After completion of the workshop the students should have enough skills to apply Perl to larger, real-world applications.


This workshop overlaps with L575-Introduction to Computer Programming for Text Management and cannot be taken for credit with L575.


Basic Unix literacy, i.e. the ability to create, edit, move, delete files and directories in a Unix environment. L401 or an equivalent class should be sufficient.

Course Objectives

This course teaches the students


Several Perl tutorials are online available. Nik Silver's tutorial (at will be used as a text for this workshop.

Requirements and Grading

The final course grade will be computed for each student on the basis of grades assigned for the following:

Assignment 1/2
Final Exam 1/2

Attendance of all sections is required!
The assignment will be handed out during the second class session and is due at the beginning of the third class session. The final exam will be handed out during the last class session and is due one week after the last session.
Team work is not acceptable for the assignment or the final exam.
Each student is expected to complete all course work by the end of the term. A grade of incomplete (I) will be assigned only if exceptional circumstances warrant.

Class Schedule

Session: 1. Introduction

  • "Hello World": A basic Perl program
  • Variables and operators
  • Executing and debugging a Perl program

    Session: 2. Control structures and conditionals

  • Filehandling
  • Control structures: for, while, until, foreach, if, then

    Assignment handed out. It is due Monday June 15th, 12.00pm.

    Session: 3. String matching and substitution

  • Regular expressions
  • Substitution and translation

    Session: 4. Perl and CGI

  • Perl and CGI

    Final exam handed out. It is due 168 hours after session 4 finishes. (Monday June 15th, 12.00pm)