Graham Kemp > Teaching > Programming Tools


Perl

Aims

Objectives

After this part of the course you will:

Lecture 1

Some examples of scripting languages and systems programming languages; a simple Perl script; scalar variables and operators; simple input and output; simple control structures in Perl; standard file handles (<STDIN>, <STDOUT>, <STDERR>); command line arguments; $_, a special variable; Perl scripts that emulate the UNIX cat command.

Lecture 2

Lists (arrays); sort and reverse; split and join; associative arrays (hashes); control statements; <DATA> file handle and '__END__'; pattern matching; remembering matches; a simple grep-like program; setting up an input filter ('open(<INPUT>, "UNIX command |")').

Lecture 3

Some Perl programs, including translate.pl and assemble.pl; writing a wrapper for an interactive program; an introduction to Tcl/Tk.

Lecture 4

Solutions to some of the exercises; features of scripting languages; comparison of scripting languages and systems programming languages.

Supplementary Material

The article "Scripting: Higher Level Programming for the 21st Century" John K. Ousterhout (designer/developer of the Tcl scripting languages) contains some interesting opinions on the growth of scripting languages and their relationship to system programming languages like C, C++ and Java.

The Perl Reference Guide is available on-line in several formats, including an HTML version.

There is extensive Perl documentation at perldoc.com (temporarily not working) and locally you can consult the on-line Perl manual pages ('man perl', etc.).

There is no set textbook for this course. If you particularly want a reference book on Perl (or Java or UNIX) O'Reilly & Associates, Inc. have established a strong reputation for their books on computer technologies, and their web site is well worth a look. They have a range of books about Perl and books related to Bioinformatics.

O'Reilly & Associates, Inc. also maintain http://www.perl.com/, a web site with lots of Perl-related articles and links.

The Perl programs from Introduction to Bioinformatics by Arthur M. Lesk are available on-line.

The value of Perl and UNIX pipelines in Bioinformatics is illustrated in the article "How Perl Saved the Human Genome Project" by Lincoln Stein.

A collection of Perl tools for Bioinformatics is available through The Bioperl Project.

In the practical sessions we shall be using Perl 5.8. Perl 6 is under development, and will be a complete rewrite of Perl. If you are really interested, you can find out more about the plans for Perl 6 on the Perl 6 project web site.

Some Other Scripting Languages