The fundamentals of the language.
This course covers the fundamentals of the Perl programming
for computer professionals who are new to the language. Starting from a
"Hello World" application, in the course of three days you'll get a taste
of the major elements of Perl and you'll start to use it in applications
as diverse as system admin tools, web scripting and heavy data manipulation.
This is an intensive Perl course that's designed for smaller groups in a
single organisation rather than public presentation. For public courses,
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.
|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.
|Perl on the Web (module P221) The HTML form.
Input from the form into a Perl program - URL encoding.
Output from Perl back to the browser - headers, etc.
Overview of what you can do with CGI.
Example application - web log file analysis
|System Dependencies (module P214) The philosophy.
Why is Perl so portable.
Built in file system commands.
Finding your operating system type.
System database enquiries.
Issue - Operating System command access.
Issue - End-of-line characters.
|More than Simple Lists and Hashes! (module P217) Multidimensional arrays.
Something more complex.
|Handling Dates and Time (module P216) File status operators and stat.
time, $^T, utime and other sources of time data.
Conversion to epoch seconds.
Conversion from epoch seconds.
Time calculations and elapsed time.
Year 2000 and year 2038 compliance.
Sleep and the alarm signal.
|Practical Example - Perl in use (module P772) A 200-line demonstration application using fundamental Perl facilities.
The requirement; introduction, inputs and outputs required.
The plan; how we're going to tackle the application.
Possible enhancements to the application.
|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.
|A Quick Look Ahead (module P770) Other facilities in Perl - further modules, objects, tieing.
Databases, Relational Databases, XML, XSLT and Data Munging.
Writing distributable modules.
Perl/Tk, embedding Perl in your application and your application in Perl.
Uses of Perl on a network - Web-page interaction, clients and servers.
Uses of Perl for portable system administration tasks.
Using Perl to glue other applications together (including databases).
- our own
purpose fitted training centre and business hotel / conference centre in
|| 2 students
|| 3 students
|| For 4 or more students
from the same company,
please consider a private course.
| With hotel room
(£1392.00 inc VAT)
(£1140.00 inc VAT)
| With hotel rooms
(£2724.00 inc VAT)
(£2220.00 inc VAT)
| With hotel rooms
(£4056.00 inc VAT)
(£3300.00 inc VAT)
• 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.
you're going to be using Perl to front a MySQL database but aren't familiar
with SQL, have a look at our
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.
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.
Covering topics such as delegate substitution, payment, cancellation policy and other matters.