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
 fromfor

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: £1160.00 +VAT (with hotel room), or £950.00 +VAT (without room), • Venue: Melksham, Wiltshire


COURSE START DATES
Usually scheduled to meet customer needs or run as a private course. Please email for details
DESCRIPTION
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.

PREREQUISITES
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]
SUBJECT BACKGROUND
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 CONTENT
Course Summary: [Link]
Perl Review (module P251) For experienced Perl programmers starting on an advanced course. The logistics. Basic program structure. Variables. Operators. The environment. Blocks, conditionals and loops. Regular expressions. Lists and hashes. Subroutines. References. Objects. Special variables. Standard modules. Input and output.
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.
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).
Plain Old Documentation (module P306) What is POD? POD inetrepreter programs and modules. Own line directives. Embedded directives. Including POD in programs and modules.
Variables in Perl (module P301) Scalars, lists, hashes, code, file handles and typeglobs. Symbol tables and accessing them. Soft and hard references. Undef and delete. My and local scoping. Strict. References. Multidimensional lists. Dynamic creation of structures. Anonymous data.
More about Files (module P215) Further File Enquiries. globbing. stat. File locking. Random access files. Accessing the structure of the file system. Including data in your programs. write and format.
More than Simple Lists and Hashes! (module P217) Multidimensional arrays. Something more complex. Design matters.
Object Orientation: Individual Objects (module Q906) History - unstructured and structured code. Introduction to object oriented programming. Classes and methods. Static and nonstatic. Instances, constructors and destructors. Overloading. Accessing members of a class. Loading and using classes. Direct access to variables. Encouraging class use.
Creating your own Classes (module P213) Resume - using a class. Background to instance variables - pointers and references. new - the constructor. blessing. Other methods in a class. Using more complex structures to store data in a class. Extended capabilities by using hashes. AUTOLOAD.
Object Orientation: Composite Objects (module Q909) Review of object orientation basics. Inheritance. Base classes and subclasses. Overriding and abstract classes. Polymorphism. Inheritance structure. Multiple inheritance and alternatives. Class structure. Hierarchy and visibility. A note on design.
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.
Object Orientation: Design Techniques (module Q907) Overview - why design? Some basics. OOD, OOA, OOP. Waterfall, spiral and Incremental models. Informal techniques. Micro, macro and specification. Formal methods. Booch, Yourdon and the OO design wars. Unified Modeling Language (UML). Views, diagrams, model elements and general mechanisms. Extending UML - stereotypes, tagged values and constraints. Functions of tools such as Rational Rose. Drawing support, model repository, navigation, code generation. Configuration, version control and associated tools.
Data Munging (module P669) Iterating over data. Advanced regular expressions. Map and Vec - some techniques. Data compression within Perl.
Handling XML in Perl (module P668) What are XML, XSLT, DTD, Schema etc.? Installation of modules and support libraries. The Expat and Gnome libraries. XML::Parser and XML::Parser::Expat. Parser principles; styles and event-based handlers. XML::LibXML. Editing and rewriting XML. XML Style Sheet transforms with XML::LibXSLT. Case Study - a system to extract XML data and generate fixed field records.
Tieing (module P304) Giving variables "magic" properties. Tieing to a scalar. Writing your own tiescalar class. Tieing to a hash. Writing your own tiehash class. Making data permanent. Creating an appending hash. Accessing system databases.
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.
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) File modules and directory handling. File locking. Arrays of file handles. File opening modes. Typeglobs. sysread, syswrite, fcntl. write. Watching the end of a file and truncating. Binary file handling; pack, unpack and read. Trusting files. Pre- and post-processing. Checking complete structures.
Miscellany (module P303) Checking calling sequences. Subroutine prototypes. caller. Three types of goto statement. do and continue blocks. Command line options. Tainted Perl. Other special variables.
Perl/Tk (module P307) What is Perl/Tk? Installing Perl/Tk. First Perl/Tk program. Widget types. Packing, events and graphics. Assigning an action to a button. Using Tk over a network.
Handling Huge Data (module P667) What is a huge amount of data? Planning. General techniques. Code optimisation. Regular expressions. Sorting. Avoiding loops. Storing data in memory. "Hello Huge World". User feedback. Signals and tails to monitor and control a long process. Reading the data by line or by block. Arranging and storing the data. Using a directory structure. Indexing.
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.

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
£1160.00
(£1392.00 inc VAT)
Without room
£950.00
(£1140.00 inc VAT) 
 With hotel rooms
£2270.00
(£2724.00 inc VAT)
Without rooms
£1850.00
(£2220.00 inc VAT) 
 With hotel rooms
£3380.00
(£4056.00 inc VAT)
Without rooms
£2750.00
(£3300.00 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
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]
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.

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: 01225 708225 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho

PAGE: http://www.wellho.net/course/plfull.html • PAGE BUILT: Thu Apr 5 17:03:17 2018 • BUILD SYSTEM: WomanWithCat