Programming Perl - for newcomers to the language
This course introduces you to the Perl programming language.
Early sections of the course, tell you
how variables, calculations, conditionals, assignments, etc. work in
Perl. The course carries on an you'll be learning
about lists, modules, hashes, regular expressions and many other
core Perl topics which don't have equivalents in other languages.
The final sections of the course cover more complex data handling,
using standard and CPAN modules, and a look forward.
There are many practical exercises set during the course, and
you'll find yourself writing useful short applications, both
keyboard-to-screen and web-based. We encourage you to bring your
own data along to use during these sessions.
This course covers version 5 of Perl (the current version), with footnotes
where appropriate to tell you about Perl 6. Our plans for
Perl 6 training
are described on a separate page.
Note - this course is now combined with Learning to program in Perl. We are able to
offer the combined public course more frequently, and most trainees
benefit from the slightly slower pace and additional practicals.
Practical experience in programming in another
computer language, such as C, C++, Java, Shell, Tcl, etc. is an
advantage, but is not mandatory.
Getting the most from your Well House Consultants course
Perl is a very widely used programming language indeed, but it's
name isn't well know outside the programming community as it's an open
source language that lack the marketing "hype" - it's just a superb
technical tool in a very wide variety of applications. It's name - PERL -
stands for the "Practical Extraction and Reporting language" which is
a pretty good sound-bite to tell you what it does.
A new release
of Perl - Perl 6 - has been undergoing development for a considerable time.
Our course covers Perl 5, and will continue to do so while it is dominant,
but also includes a short look ahead to Perl 6 so that new code developers
will be able to take advantage of it once it's available to them.
|Introduction (module P201) What is Perl?
What computers does Perl run on?
Is Perl loaded on my computer (and if not, where do I get it?)
Versions of Perl.
Examples of Perl in use.
|Perl Fundamentals (module P202) First practical Perl program.
Executable statements, comments and POD documentation.
Variables and assignments.
Strings v numbers.
|Conditionals and Loops (module P204) The if statement.
Conditions and blocks.
The while statement.
Shorthand operators (add and assign, ++, etc.)
Ways of writing numbers.
|Initial String Handling (module P205) String handling functions.
String handling operators.
Single- and double-quoted strings.
Here documents, qq, etc.
Exact string comparisons.
Regular expression matching.
Regular expression components.
|More Loops and Conditionals (module P206) The variety of Perl.
Single statement conditionals.
The until loop.
The for loop.
Single statement loops.
Breaking a loop.
|File Handling (module P207) File handles.
The open and close functions.
Reading and writing files.
Other things you can do with the file interface.
Formatting variables and expressions.
The Power of Perl
|Lists (module P208) What is a list?
Creating a list.
Referencing elements in a list.
Changing a list.
The length of a list.
List and scalar context.
Functions that operate on lists.
|Subroutines in Perl (module P209) The what and why of subroutines.
Structured and object oriented programming.
Calling a subroutine.
Loading a subroutine from another file.
Local, my and package variables.
Loading a class and using objects.
|Topicalization and Special Variables (module P210) Command-line parameters and the name of your program.
$_ - the default input and pattern matching variable.
More command-line options.
|Hashes (module P211) What is a hash?
Setting up a hash.
Keys and values.
Accessing a hash.
Processing every element.
cmp and operators.
Programming techniques for hashes.
Deleting hash elements.
|More on Character Strings (module P212) Summary to date.
Extracting information from a match.
Assigning to a list.
Greedy and non-greedy matching.
Pre- and post-match strings.
Comments within a regular expression.
Substitute and execute.
Regular expression efficiency.
The tr function.
Handling binary data - read, unpack etc.
|More than Simple Lists and Hashes! (module P217) Multidimensional arrays.
Something more complex.
|Creating your own Classes (module P213) Resume - using a class.
Background to instance variables - pointers and references.
new - the constructor.
Other methods in a class.
Using more complex structures to store data in a class.
Extended capabilities by using hashes.
|More Objects (module P218) Where to look for modules.
Inheritance and hierarchy; base and derived classes.
Special methods BEGIN, END, DESTROY and import.
Export and Exporters.
Application of Perl
|Libraries and Resources (module P219) Standard Perl modules.
Pragmata - strict, integer, constants, overload and others.
Modules distributed with Perl - Benchmark, Carp, English, Data::Dumper and others.
The CPAN - sourcing, downloading and installing modules.
Useful major modules such as Tk, CGI, DBI and DBD.
XML, LWP, Win32 and other modules.
Utilities supplied with Perl - a2p s2p pod2html perldoc, etc.
Documentation - Perl manual, FAQ, etc; sources online and offline.
Websites, newsgroups, IRC and books.
Local user groups, Perl Mongers.
Getting training and support.
|Perl 6 Look Ahead (module P256) What's new in Perl 6?
Objects with properties; memorise, constant, is and but.
Class keyword, new bless, and the . operator.
Interprollation of $(...) and @(...), and the _ operator.
Multiple comparisions and the smart comparison operator.
Golden nuggets - err, open, time, here docs etc.
Parameter lists, parameter naming and parameter autonaming.
The := binding, refs and types. Asuume bindings.
Topicalisation. Subroutine, conditional and loop changes.
try and CATCH. LAST, FIRST, PRE, POST, KEEP and UNDO.
grammars and rules.
TUTOR and COURSE AUTHOR
Graham Ellis - firstname.lastname@example.org
] [about Graham
Public courses run at
Well House Manor
- our own
purpose fitted training centre and business hotel / conference centre in
• Download Melksham Map - [pdf file (750k)
] • Google Map - [Link
|| 2 students
|| 3 students
|| For 4 or more students
from the same company,
please consider a private course.
| With hotel room
£1530.00 (No VAT from 1.2019)
£1250.00 (No VAT from 1.2019)
| With hotel rooms
£3010.00 (No VAT from 1.2019)
£2450.00 (No VAT from 1.2019)
| With hotel rooms
£4490.00 (No VAT from 1.2019)
£3650.00 (No VAT from 1.2019)
• Multiple discount applies to bookings for second and subsequent delegates on the same running of a course, and on same order.
• Hotel rooms are available for arrival the night before the course starts, for departure after the end of the course on the last day.
For some applications, you'll learn all the Perl you need
on this course. For other applications, you might want to go on
to our advanced Perl courses - Using Perl on the Web
or Perl for Larger Projects
Upon completion of your course, you'll have online access to the source code of
all the examples from the course, and you'll have access to the
"Ask the Tutor" forum
where you can raise questions. We also encourage you to email the tutor, and
to visit us again to use our library as appropriate.
Certification? - [Link
FOR FURTHER INFORMATION
Public (scheduled) courses
For more information about our public courses in general, such as class size, course times, materials provided, special requests, accommodation list, finding our centre, etc.
Terms and Conditions
Covering topics such as delegate substitution, payment, cancellation policy and other matters.