Duration:
5 days • Price:
£1650.00 +VAT (with hotel room), or
£1350.00 +VAT (without room), •
Venue:
Melksham, Wiltshire
COURSE START DATES
| • Monday 13 September 2010 | • Monday 13 December 2010 |
| • Monday 14 March 2011 | • Monday 13 June 2011 |
| • Monday 19 September 2011 | • Monday 5 December 2011 |
DESCRIPTION
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
in depth
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.
PREREQUISITES
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
[
Link]
SUBJECT BACKGROUND
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.
COURSE CONTENT
Perl Fundamentals |
| 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. |
| Hello Perl World (module P102) Entering the program.
Executable statements.
Printing.
Comments.
Running the program.
Doing more than one thing in a program.
Handling errors. |
| Variables and Operations (module P103) Reading user input.
What is a variable?
Assignments.
Calculations.
Precedence.
New line characters. |
| Perl Fundamentals (module P202) First practical Perl program.
Executable statements, comments and POD documentation.
Print statements.
Variables and assignments.
Calculations.
Reading data.
Strings v numbers.
String operators. |
| More about the Perl Environment (module P203) Integrating Perl with your computer.
Unix and Linux - Path, chmod and the #! line.
Windows NT, 2000, ME, 98 and 95 - associating files with Perl.
Running Perl on the Macintosh and on the PC under MS-DOS.
Compilers, interpreters and Perl.
Checking your syntax, and getting warning messages.
Debugging tools. |
| Conditionals and Loops (module P204) The if statement.
Conditions and blocks.
The while statement.
Shorthand operators (add and assign, ++, etc.)
Ways of writing numbers. |
| Analysing a Programming Task (module Q904) A small job.
Learning about the job.
Working it out.
Writing.
Testing.
Error handling.
As a job gets larger. |
| 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.
Unless.
Conditional operators.
The until loop.
The for loop.
Single statement loops.
Breaking a loop.
Labels. |
| File Handling (module P207) File handles.
The open and close functions.
Reading and writing files.
Other things you can do with the file interface.
File testing.
Formatted printing.
Formatting variables and expressions.
Constant text.
sprintf. |
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.
List slices.
Anonymous 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.
Passing parameters.
Writing subroutines.
Returning values.
Variable scope.
Local, my and package variables.
Loading a class and using objects.
Instances. |
| Topicalization and Special Variables (module P210) Command-line parameters and the name of your program.
Informational variables.
Behaviour-changing variables.
$_ - 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.
Sorting.
cmp and operators.
Programming techniques for hashes.
Deleting hash elements.
Special hashes.
The environment. |
| 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.
Match modifiers.
Comments within a regular expression.
Alternative delimiters.
Substitution.
Substitute and execute.
Regular expression efficiency.
The tr function.
Handling binary data - read, unpack etc. |
Application of Perl |
| 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 |
| More than Simple Lists and Hashes! (module P217) Multidimensional arrays.
Something more complex.
Design matters. |
| Handling Dates and Time (module P216) File status operators and stat.
System commands.
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. |
| Using SQL Databases from Perl (module P308) Review - flat databases.
Relational databases through SQL.
Setting up the DBI and DBD modules.
Connecting to an SQL server.
Issuing an enquiry and reading back the results.
Amending information in a database via SQL.
Creating new tables.
Database support including mySQL, Oracle, Sybase, Infomix.
Interfacing Perl to the Access database.
Using Tie to access a table as if it was a Perl Hash. |
Looking ahead with Perl |
| 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.
The detail.
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.
Parrot. |
| 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). |
TUTOR and COURSE AUTHOR
Graham Ellis -
graham@wellho.net [
email] [
about Graham]
VENUE
Melksham, Wiltshire
Public courses run at
Well House Manor - our own
purpose fitted training centre and business hotel / conference centre in
Melksham.
• Download Melksham Map - [
pdf file (750k)] • Google Map - [
Link]
PRICE
| 1 student |
2 students |
3 students |
For 4 or more students
from the same company,
please consider a private course. |
With hotel room £1650.00 (£1938.75 inc VAT) Without room £1350.00 (£1586.25 inc VAT) |
With hotel rooms £3200.00 (£3760.00 inc VAT) Without rooms £2600.00 (£3055.00 inc VAT) |
With hotel rooms £4750.00 (£5581.25 inc VAT) Without rooms £3850.00 (£4523.75 inc VAT) |
Notes:
• 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.
|
FOLLOW UPS
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 --
http://www.wellho.net/course/ctc.html
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 --
http://www.wellho.net/net/terms.html
Covering topics such as delegate substitution, payment, cancellation policy and other matters.