Home Accessibility Courses Twitter The Mouth Facebook Resources Site Map About Us Contact
Python, Lua and Tcl - public course schedule [here]
Private courses on your site - see [here]
Please ask about maintenance training for Perl, PHP, Java, C, C++, Ruby, MySQL and Linux / Tomcat systems

Perl training news
Next Public Course Dates

Link on individual courses for more details and further dates.

We can also run a private tailored course at our centre or a private course at your office.
Perl for Larger Projects - training course
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

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, June 2001.

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 course.

Getting the most from your Well House Consultants course [Link]
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.
Course Summary: [Link]
Perl Review (module P251) The logistics. Basic program structure. Variables. Operators. The Environment. Blocks, conditionals and loops. Regular expressions. Lists and Hashes. Lists. Context. Hashes. Subroutines. References. Objects. Using objects. Writing classes. Special variables. Standard modules. Input and Output.
Libraries and Resources (module P219) Standard Perl modules. Pragmata. Standard modules. The CPAN. 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?. Utility programs. Documentation. Web resources. Newsgroups. Perl information in newsgroups. A note of caution. Forums. Chat. Books. Meeting users, getting local support and training. User Groups. List Servers. 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. Object Orientation. Writing distributable modules. More complex data structures. Tieing. Writing network clients and servers. Binary Termio, and low-level file controls. Data Munging. Other built-ins. 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. And also. Huge Data. Maintainable code.
Plain Old Documentation (module P306) Own-line directives. Special formatting directives. Embedded Directives. Including POD within programs and modules.
Variables in Perl (module P301) Variable types. Scalars. Lists. Hashes. Code. File Handles. Typeglobs. Symbol Tables. Soft references. undef and delete. Variable scope. local variables. my variables. Further examples using my variables. strict. References. Using a reference within a subroutine. Multidimensional lists. Dynamic creation of structures. Anonymous data.
More about Files (module P215) Other file status requests. Operators. globbing. stat. File locking, random access files, etc. File locking. Random access file. Accessing the file system. Including data within your programs. Here documents. Reading from the end of your program. Formatted write. Summary.
More than Simple Lists and Hashes! (module P217) Multidimensional arrays. Multidimensional lists. Mixing the dimensions. Something more complex. Design first. Setting up the structure. Referencing the structure. Grouping in Perl. Interpreting a complex reference to a variable. Design MATTERS. Summary.
Object Orientation: Individual Objects (module Q906) A History. Unstructured Code. Subroutines, functions, procedures. Structured Programming. Object Oriented Programming. A note on political, or religious issues. Introduction to OO Programming. Classes. Methods. Static and Nonstatic. Instances. Constructors. Destructors. Overloading. Accessing members of a class. Loading. Use. Direct access to variables. Testing. 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. AUTOLOAD. Summary.
Object Orientation: Composite Objects (module Q909) Revision. Inheritance. Base classes and subclasses. What's inherited?. Overriding. Abstract classes. Polymorphism. Inheritance structure. Multiple Inheritance. Class structure. Hierarchy. Visibility. Designing Objects.
More Objects (module P218) A Generic Class. Where to look for modules. Inheritance and hierarchy. The Base class. The derived class. Special methods. Imports and exports. Exporting variables. Importing variables. Further notes on object orientation. Extending our earlier generic example. Summary.
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.. Informal Techniques. Micro or Macro?. Specifying classes and methods. Specifying extended classes. Clusters of classes. Generalise it out. Programming and method standards. Formal Methods. Unified Modelling Language (UML). Views. Diagrams. Model Elements. UML Summary. Tools. Project management and design issues.
Data Munging (module P669) Iterating over data in Perl. Processing data through regular expressions. Compressing data.
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. Styles. Using subs. Using Stream. Event-based handlers. 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. Associated files.
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 lists. 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. Other databases.
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. Opening files. Reading from file. Writing to file. Enquiring about a file. Other uses of the file interface. Arrays of file handles. Directory Handling. Going recursive. Random access files. An example using a sorted, fixed-length record file. File Locking. Alternative schemes. Database files. Built-in file system handlers.
Miscellany (module P303) Checking calling sequences. Trust. Checking yourself. Subroutine prototypes. Examples. Where am I?. Which file? Which line of that file?. Goto Statements. The unconditional goto. The "computed" goto. goto a subroutine. Do and continue. continue blocks. do statements. Command line options. Tainted Perl. How does tainting work?. How do I tell if a scalar is tainted?. Untainting information. Other special variables. Special Lists. Special Hashes. Special Scalars. Special file handles. Special subroutines.
Perl/Tk (module P307) Installation procedure. To test availability. To Install. First Perl/Tk program. Widgets and widget types. Packing. Events. Graphics. Network matters. A complete little application.
Handling Huge Data (module P667) Planning. General techniques for large and huge data. Code Optimization. Regular Expressions. Sorting. Large Data. Avoid loops. Store data in memory. Huge Data. Hello HUGE world. User feedback. Controlling a long-running process. Reading the data. Arranging and storing the data. Using a directory structure. Indexing. For Reference.
Perl 6 Look Ahead (module P256) Objects. Operators. String handlers. Comparison operators. Vectorised operators. Data types. Bindings. Subroutine bindings. Conditionals and loops. Topicalization. Switch statements. for and loop. Exception handling. Try blocks. Rules and grammar. Modifiers. Elements with a rule. Capturing. Concluding rules and grammar. Under the bonnet. Conclusion.

Graham Ellis - graham@wellho.net [email]  [about Graham]
Melksham, Wiltshire , England. A taxi transfer can be arranged if you'll be arriving by air from United States. Private Courses 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 Melksham.
• Download Melksham Map - [pdf file (750k)] • Google Map - [Link]
1 student   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)
Without room
($1860.00 inc VAT) or
(£1140.00 inc VAT) 
 With hotel rooms
($4452.00 inc VAT) or
(£2724.00 inc VAT)
Without rooms
($3660.00 inc VAT) or
(£2220.00 inc VAT) 
 With hotel rooms
($6648.00 inc VAT) or
(£4056.00 inc VAT)
Without rooms
($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 day.

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]
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.

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2018: 404 The Spa • Melksham, Wiltshire • United Kingdom • SN12 6QL
PH: 01144 1225 708225 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho

PAGE: http://www.wellho.net/course/plfull.html • PAGE BUILT: Sun Dec 31 15:21:47 2017 • BUILD SYSTEM: WomanWithCat