The distinctive Perl camel is (c) O'Reilly
Perl Workshop Home Page
Home of the Bioinformatics Perl Workshop perl workshop > courses > introduction to perl (1.0.1.8) > lecture notes

course 1.0.1.8

Level: beginner
1.0.1.8 | beginner | 8 sessions
This eight session course will introduce you to basic Perl. Topics will include scalars, arrays, hashes, context, control structures, functions, reading and writing files, and look at Perl idioms. We'll also touch upon modules and the Comprehensive Perl Archive Network (CPAN).

legend

course code

cat.course.level.sessions.session

e.g. 1.0.1.8

categories

0 | introduction and orientation

1 | perl fundamentals

2 | shell and prompt tools

3 | web development

4 | CPAN Modules

5 | Ruby

levels

level: all all ( 0 )

level: beginner beginner ( 1 )

level: intermediate intermediate ( 2 )

level: advanced advanced ( 3 )

[ the code for a course follows the convention category.id.level.sessions and uniquely identifies a course ]
1.0.1.8 Introduction to Perl

lecture notes

1 | Scalar Variables | 1.0.1.8.1

History and philosophy of Perl, variables, scalars, basic operators, interpolation.

1.0.1.8.1.p1 | Scalar Variables | Martin Krzywinski | ppt
1.0.1.8.1.c1 | 01.pl | Martin Krzywinski | code
1.0.1.8.1.c2 | 02.pl | Martin Krzywinski | code
1.0.1.8.1.c3 | 03.pl | Martin Krzywinski | code
1.0.1.8.1.c4 | counter.pl | Martin Krzywinski | code
1.0.1.8.1.c5 | fancy_counter.pl | Martin Krzywinski | code
1.0.1.8.1.c6 | hello.pl | Martin Krzywinski | code
1.0.1.8.1.c7 | math.pl | Martin Krzywinski | code
1.0.1.8.1.c8 | myscript.pl | Martin Krzywinski | code
1.0.1.8.1.c9 | myscript2.pl | Martin Krzywinski | code
1.0.1.8.1.c10 | myscript3.pl | Martin Krzywinski | code
1.0.1.8.1.c11 | myscript4.pl | Martin Krzywinski | code
1.0.1.8.1.c12 | quotes.pl | Martin Krzywinski | code
1.0.1.8.1.c13 | quotes2.pl | Martin Krzywinski | code
1.0.1.8.1.c14 | time.pl | Martin Krzywinski | code
1.0.1.8.1.d1 | Scalar Variables | Martin Krzywinski | data
1.0.1.8.1.a1 | Scalar Variables | Martin Krzywinski | pdf
1.0.1.8.1.s1 | Scalar Variables | Martin Krzywinski | slides

2 | Text Manipulation and Regular Expressions | 1.0.1.8.2

Manipulating text with join, split and substr; introduction to regular expressions. ECHELON Lunchroom 5th floor.

1.0.1.8.2.p1 | Text Manipulation and Regular Expressions | Martin Krzywinski | ppt
1.0.1.8.2.c1 | case | Martin Krzywinski | code
1.0.1.8.2.c2 | chop | Martin Krzywinski | code
1.0.1.8.2.c3 | join | Martin Krzywinski | code
1.0.1.8.2.c4 | listop | Martin Krzywinski | code
1.0.1.8.2.c5 | recap | Martin Krzywinski | code
1.0.1.8.2.c6 | regex | Martin Krzywinski | code
1.0.1.8.2.c7 | sequence | Martin Krzywinski | code
1.0.1.8.2.c8 | split | Martin Krzywinski | code
1.0.1.8.2.c9 | substr | Martin Krzywinski | code
1.0.1.8.2.a1 | Text Manipulation and Regular Expressions | Martin Krzywinski | pdf
1.0.1.8.2.s1 | Text Manipulation and Regular Expressions | Martin Krzywinski | slides

3 | Lists, Arrays and Context | 1.0.1.8.3

Introduction to lists and arrays; manipulating arrays; scalar vs array context. BCCRC Lecture theatre.

1.0.1.8.3.p1 | Lists, Arrays and Context | Martin Krzywinski | ppt
1.0.1.8.3.c1 | grow | Martin Krzywinski | code
1.0.1.8.3.c2 | iteration | Martin Krzywinski | code
1.0.1.8.3.c3 | pop | Martin Krzywinski | code
1.0.1.8.3.c4 | push | Martin Krzywinski | code
1.0.1.8.3.c5 | swap | Martin Krzywinski | code
1.0.1.8.3.a1 | Lists, Arrays and Context | Martin Krzywinski | pdf
1.0.1.8.3.s1 | Lists, Arrays and Context | Martin Krzywinski | slides

4 | Hashes and Sorting | 1.0.1.8.4

Introduction to hashes: keys, values, exist; introduction to sorting and shuffling.

1.0.1.8.4.p1 | Hashes and Sorting | Martin Krzywinski | ppt
1.0.1.8.4.c1 | sequences | Martin Krzywinski | code
1.0.1.8.4.c2 | sort | Martin Krzywinski | code
1.0.1.8.4.a1 | Hashes and Sorting | Martin Krzywinski | pdf
1.0.1.8.4.a2 | Hashes and Sorting | Martin Krzywinski | pdf
1.0.1.8.4.s1 | Hashes and Sorting | Martin Krzywinski | slides

5 | File I/O | 1.0.1.8.5

while loop; file I/O; reading from files; writing to files; printf/sprintf

1.0.1.8.5.p1 | File I/O | Martin Krzywinski | ppt
1.0.1.8.5.c1 | bes-01 | Martin Krzywinski | code
1.0.1.8.5.c2 | data.txt | Martin Krzywinski | code
1.0.1.8.5.c3 | fasta-01 | Martin Krzywinski | code
1.0.1.8.5.c4 | fasta-02 | Martin Krzywinski | code
1.0.1.8.5.c5 | file-01 | Martin Krzywinski | code
1.0.1.8.5.c6 | file-02 | Martin Krzywinski | code
1.0.1.8.5.c7 | file-03 | Martin Krzywinski | code
1.0.1.8.5.c8 | file1.txt | Martin Krzywinski | code
1.0.1.8.5.c9 | file2.txt | Martin Krzywinski | code
1.0.1.8.5.c10 | printf-01 | Martin Krzywinski | code
1.0.1.8.5.c11 | randseq.fa | Martin Krzywinski | code
1.0.1.8.5.c12 | rx.txt | Martin Krzywinski | code
1.0.1.8.5.c13 | sherlock.txt | Martin Krzywinski | code
1.0.1.8.5.c14 | sprintf-01 | Martin Krzywinski | code
1.0.1.8.5.c15 | while-01 | Martin Krzywinski | code
1.0.1.8.5.a1 | File I/O | Martin Krzywinski | pdf
1.0.1.8.5.s1 | File I/O | Martin Krzywinski | slides

6 | Subroutines and Special Variables | 1.0.1.8.6

$_; other special variables; introduction to subroutines; passing arguments; @_; named arguments; call context

1.0.1.8.6.c1 | loop-01 | Martin Krzywinski | code
1.0.1.8.6.c2 | loop-02 | Martin Krzywinski | code
1.0.1.8.6.c3 | loop-03 | Martin Krzywinski | code
1.0.1.8.6.c4 | loop-04 | Martin Krzywinski | code
1.0.1.8.6.c5 | sub-01 | Martin Krzywinski | code
1.0.1.8.6.c6 | sub-02 | Martin Krzywinski | code
1.0.1.8.6.a1 | Subroutines and Special Variables | Martin Krzywinski | pdf
1.0.1.8.6.p1 | Subroutines and Special Variables | Martin Krzywinski | ppt
1.0.1.8.6.s1 | Subroutines and Special Variables | Martin Krzywinski | slides

7 | More String Manipulation | 1.0.1.8.7

replacement operator; global matching; context behaviour of match operator

1.0.1.8.7.c1 | match-01 | Martin Krzywinski | code
1.0.1.8.7.c2 | match-02 | Martin Krzywinski | code
1.0.1.8.7.c3 | match-03 | Martin Krzywinski | code
1.0.1.8.7.c4 | replace-01 | Martin Krzywinski | code
1.0.1.8.7.c5 | replace-02 | Martin Krzywinski | code
1.0.1.8.7.c6 | replace-03 | Martin Krzywinski | code
1.0.1.8.7.c7 | substr | Martin Krzywinski | code
1.0.1.8.7.c8 | tr-01 | Martin Krzywinski | code
1.0.1.8.7.a1 | More String Manipulation | Martin Krzywinski | pdf
1.0.1.8.7.p1 | More String Manipulation | Martin Krzywinski | ppt
1.0.1.8.7.s1 | More String Manipulation | Martin Krzywinski | slides

8 | Recipes | 1.0.1.8.8

using modules; Perl recipes; morals of the story

1.0.1.8.8.c1 | date-01 | Martin Krzywinski | code
1.0.1.8.8.c2 | match-01 | Martin Krzywinski | code
1.0.1.8.8.c3 | reverse-01 | Martin Krzywinski | code
1.0.1.8.8.c4 | swap-01 | Martin Krzywinski | code
1.0.1.8.8.c5 | trim-01 | Martin Krzywinski | code
1.0.1.8.8.a1 | Recipes | Martin Krzywinski | pdf
1.0.1.8.8.p1 | Recipes | Martin Krzywinski | ppt
1.0.1.8.8.s1 | Recipes | Martin Krzywinski | slides

other in this category

1.1.2.8 | Intermediate Perl

1.2.2.1 | Effective use of map, sort and grep in Perl

other by same level

3.0.1.3 | Introduction to CGI

3.1.1.1 | Introduction to mod_perl

5.1.1.5 | Introduction to Ruby

other by same instructor

Other courses by Martin Krzywinski.

0.0.0.1 | Orientation Session

0.1.0.1 | Two Problems

1.1.2.8 | Intermediate Perl

1.2.2.1 | Effective use of map, sort and grep in Perl

2.1.2.4 | Data Mining and Analysis at the Command Line

2.2.2.2 | Prompt Tools

4.0.2.1 | Spans and Sets

4.1.2.2 | Random Numbers and Distributions