Graham Kemp > Teaching > Programming Tools |
After this part of the course you will:
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.
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 |")').
Some Perl programs, including translate.pl and assemble.pl; writing a wrapper for an interactive program; an introduction to Tcl/Tk.
Solutions to some of the exercises; features of scripting languages; comparison of scripting languages and systems programming languages.
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.