Objects, huge data, SQL databases, XML, efficiency and other topics.
Duration: 3 days
• Price: $1880.00 or £1160.00 +VAT
(with hotel room), or
$1550.00 or £950.00 +VAT
(without room), •
Venue: Melksham, England
COURSE START DATES
Usually scheduled to meet customer needs or run as a private course. Please email for details
This advanced course takes the Perl programmer through
the facilities provided in the language which make it particularly
suitable for larger projects.
We start off with a quick review of Perl programming fundamentals so
that you can ask any nagging questions you have about the core
elements of Perl. We then move on to look at documentation
standards, tools such as editors, debuggers, and modules such
as the data dumper.
Perl can handle much more than just simple lists and hashes. You'll
learn how, and you'll learn about both structured coding and objects.
By keeping your code in manageable chunks, Perl can be scaled up to
meet larger requirements. "Perl makes the difficult things easy,
and the impossible is made possible" -- Larry Wall, "Father" of Perl,
Perl provides a "glue" to let you interface to many different
technologies. You'll learn about standard modules supplied with
Perl, and those freely available on the CPAN. Some of these
modules, such as the SQL database interface that you can use to
connect to Oracle ... or Access ... or MySQL ... merit their own
chapter, and their own practicals.
Some users have really big and complex data sets to handle, and the
course moves on to cover regular expressions and efficiency issues,
before concluding with discussions on Perl programming standards, such as
how you should write your code to be effective, easy-to-maintain,
and easy-to-modify in the future as your requirements change.
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.
Knowledge of the Perl programming language, as taught
on our Learning to program in Perl
Getting the most from your Well House Consultants course
Perl is a scritping language which allows knowledgable staff to
achive a very great deal in areas as diverse as data analysis, system
managment, and web interaction very quickly indeed. For larger and more
complex requirements, Perl includes an object oriented interface which
is the subject of this course, which also covers other topics associated
with handling significantly large amounts of data, such as code efficiency
and data that overflows the space available during processing.
|Perl Review (module P251) The logistics.
Basic program structure.
Blocks, conditionals and loops.
Lists and Hashes.
Input and Output.
|Libraries and Resources (module P219) Standard Perl modules.
Installing from CPAN - an individual module.
Installing from the CPAN - using the CPAN module.
Installing modules via the Perl Package Manager.
What’s on the CPAN?.
Perl information in newsgroups.
A note of caution.
Meeting users, getting local support and training.
Well House Consultants.
|A Quick Look Ahead (module P770) Fundamental and advanced topics.
How do these further facilities talk to Perl?.
Other facilities in the Perl language.
File handling and system administration functions.
Writing distributable modules.
More complex data structures.
Writing network clients and servers.
Binary Termio, and low-level file controls.
Other facilities in Perl - further modules.
Interfacing to databases.
XML and XSLT.
Graphics and Perl.
Writing Web clients.
Talking to Microsoft applications.
Perl in other guises.
Interfacing to the Web via cgi.
Interfacing to the Web via mod-perl.
Other Web interfaces.
Perl embedded within third-party applications.
|Plain Old Documentation (module P306) Own-line directives.
Special formatting directives.
Including POD within programs and modules.
|Variables in Perl (module P301) Variable types.
undef and delete.
Further examples using my variables.
Using a reference within a subroutine.
Dynamic creation of structures.
|More about Files (module P215) Other file status requests.
File locking, random access files, etc.
Random access file.
Accessing the file system.
Including data within your programs.
Reading from the end of your program.
|More than Simple Lists and Hashes! (module P217) Multidimensional arrays.
Mixing the dimensions.
Something more complex.
Setting up the structure.
Referencing the structure.
Grouping in Perl.
Interpreting a complex reference to a variable.
|Object Orientation: Individual Objects (module Q906) A History.
Subroutines, functions, procedures.
Object Oriented Programming.
A note on political, or religious issues.
Introduction to OO Programming.
Static and Nonstatic.
Accessing members of a class.
Direct access to variables.
Encouraging class use.
|Creating your own Classes (module P213) Resume -- using a class.
Background to instance variables.
Variables, addresses of variables, contents of variables.
A first class.
Structure of the class file.
The new method.
Other methods in the class.
Storing information using complex structures.
Writing applications that are independent of the class internals.
Using a scalar to store information within a class.
Using a list to store information within a class.
Using a hash to store information within a class.
Further capabilities of a hash.
The ability to provide generic set and get methods.
|Object Orientation: Composite Objects (module Q909) Revision.
Base classes and subclasses.
|More Objects (module P218) A Generic Class.
Where to look for modules.
Inheritance and hierarchy.
The Base class.
The derived class.
Imports and exports.
Further notes on object orientation.
Extending our earlier generic example.
|Object Orientation: Design Techniques (module Q907) OO Design - some basics.
Start with a good understanding of OO.
And also a good understanding of the buzz words and design cycle..
Micro or Macro?.
Specifying classes and methods.
Specifying extended classes.
Clusters of classes.
Generalise it out.
Programming and method standards.
Unified Modelling Language (UML).
Project management and design issues.
|Data Munging (module P669) Iterating over data in Perl.
Processing data through regular expressions.
|Handling XML in Perl (module P668) What is XML?.
Availability of handling XML from Perl.
Parsing XML from Perl.
Installing the Expat library and XML::Parser.
The principles of a parser.
Other controls possible for the constructor.
An example with a full set of data.
Putting it together.
Use of the XML::Parser::Expat.
Gnome - an alternative to the Expat library.
Using Gnome to edit XML.
Using XSLT from Perl.
|Tieing (module P304) Tieing to scalars, hashes and lists.
Tieing to a scalar.
Tieing to a hash.
Tieing to make data more permanent.
Tieing a text file to a scalar.
Tieing a text file to a hash.
Tieing to database files.
Accessing system databases.
Tieing File Handles.
|Using SQL Databases from Perl (module P308) Flat databases.
Relational databases through SQL - Setup.
Checking that your relational database is available.
Installing the database independent module (DBI).
Install the Database Dependent drivers for MySQL.
Using DBI to access a MySQL database.
A further example.
|Packaging Modules (module P773) Why and how to package modules.
Setting up a package structure.
Writing your package.
Writing the code, documentation, test procedures.
Updaing the README file, Makefile.PL and the change log.
Bundling your package.
Installing you package.
Testing the Install.
|Embedding C in Perl using Xs (module P309) Hello Xs World.
Writing your Xs module.
Installing your Xs module.
Writing a Perl program to use your Xs module.
|Advanced File and Directory Handling (module P602) Basic file handling.
Reading from file.
Writing to file.
Enquiring about a file.
Other uses of the file interface.
Arrays of file handles.
Random access files.
An example using a sorted, fixed-length record file.
Built-in file system handlers.
|Miscellany (module P303) Checking calling sequences.
Where am I?.
Which file? Which line of that file?.
The unconditional goto.
The "computed" goto.
goto a subroutine.
Do and continue.
Command line options.
How does tainting work?.
How do I tell if a scalar is tainted?.
Other special variables.
Special file handles.
|Perl/Tk (module P307) Installation procedure.
To test availability.
First Perl/Tk program.
Widgets and widget types.
A complete little application.
|Handling Huge Data (module P667) Planning.
General techniques for large and huge data.
Store data in memory.
Hello HUGE world.
Controlling a long-running process.
Reading the data.
Arranging and storing the data.
Using a directory structure.
|Perl 6 Look Ahead (module P256) Objects.
Conditionals and loops.
for and loop.
Rules and grammar.
Elements with a rule.
Concluding rules and grammar.
Under the bonnet.
TUTOR and COURSE AUTHOR
Graham Ellis - email@example.com
] [about Graham
, England. A taxi transfer can be arranged if you'll be arriving by air
from United States.
can be arranged on site in your country.
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
($2256.00 inc VAT) or
(£1392.00 inc VAT)
($1860.00 inc VAT) or
(£1140.00 inc VAT)
| With hotel rooms
($4452.00 inc VAT) or
(£2724.00 inc VAT)
($3660.00 inc VAT) or
(£2220.00 inc VAT)
| With hotel rooms
($6648.00 inc VAT) or
(£4056.00 inc VAT)
($5460.00 inc VAT) or
(£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.
If you're going to be using Perl through a Web interface,
you might like to consider Using Perl on the Web
If you're going to be using Perl to
connect to the MySQL database, please consider MySQL
Other advanced material not covered on regular public courses
is available through a Perl Extra
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.