Part One
Part Two
Part Three

Vince Sgro's Perl Tutorial

Please take a few moments to fill out the form at the end of this page. I will tailor the tutorial as the responses to the form dictate. I can not possibly make the tutorial everything for everyone. My intention is to provide an introduction to the language for people that have some experience programming. Teaching an experienced programmer the fundamentals of a new language is much less ambitious than teaching a novice the fundamentals of programming. If you have never programmed before, this tutorial will be difficult. Maybe more than it is worth. On the other hand, if you fear boredom, you might consider skipping the first part or two, where the advanced topic(s) are covered. Here is a list of topics. They are not in any particular order relative to the tutoral progression.

  • Basics
    • Writing and Running a Perl Program
    • Values and the Variables that Hold Them
    • Statements and the Control Structures that Guide Them
    • File Manipulation
    • Subroutines (Functions, Methods... Whatever)
    • Regular Expressions
  • Beyond the Basics
    • Using Objects and Modules in Perl V.
    • Writing (Safe) CGI Programs for Web Sites.
    • Using the More Arcane Standard Perl Modules.

You will find the notes used for part one, part two, and part three of the tutorial linked in the left column. They are in HTML, so you will be able to view them anywhere. Keep in mind that these are the notes I use when I am teaching. I have done very little in the way of editing.



What is your name?

How much programming experience have you?
``I watch a lot of T.V.''
``I saw a guy in college who could program and he scared me.''
``I took a programming course once but I never really got it.''
``I programmed once or twice and got the BASIC idea.''
``I can write a program to do anything.''
``Programming is my life.''
``50726F6772616D696E672069732074686F756768742E''

If you have any programming experience, what languages have you used?
BASIC
Pascal
Fortran
Tcl/Tk
Java
C
Ada
Lisp
Assembly
Javascript
C++
Cobol
Prolog
Perl
Visual Basic
shell
sed
awk
SML
SmallTalk
Any others?

As it turns out, I have three advanced topics I would like to cover. However, I believe we are going to run short on time. Which two of these three topics would you like me to cover if we do not have time to them all? Pick two!
Writing (Safe) CGI programs for Web Sites.
Using Objects and Modules in Perl V.
Using the More Arcane Standard Perl Modules.

If you have looked over this tutorial and you feel so motivated, please tell me what you think of it. Be sure to include any suggestions for improvement you might have.