Course

In Carshalton

£ 1,750 + VAT

Description

  • Type

    Course

  • Location

    Carshalton

  • Duration

    5 Days

The course contains a number of fairly simple familiarisation exercises and a much smaller number of extended mini-projects that take one to two hours to complete. Some of the projects are for post course practice. Attendees are encouraged to put in extra hours beyond the formal classroom hours which are from 9am to 6pm on the first four days and from 9am to 4pm on the last. Suitable for: This is a course for Perl programmers with at least 6 months practical Perl programming experience who will be using Perl to perform complex data processing tasks. Perl developers working on data cleaning, data discovery, auditing, fraud detection, log analysis, and complex reporting tasks would benefit from this course.

Facilities

Location

Start date

Carshalton (Surrey)
See map
1-3 Fairlands House, North Street, SM5 2HW

Start date

On request

Questions & Answers

Add your question

Our advisors and other users will be able to reply to you

Who would you like to address this question to?

Fill in your details to get a reply

We will only publish your name and question

Reviews

Course programme

Overview
This course follows on from the traditional introductory Perl programming courses. Its purpose is to explore the use of Perl for implementing complex reporting, system administration and data analysis tasks, as well as using Perl/TK for rapidly prototyping graphical user interfaces to front end these applications.
Regular expressions and their use in pattern matching and substitution are covered in great detail, and the application of these techniques in data mining and the preparation of data for data warehousing discussed. The uses of Perl for accessing databases, automating database administration and backup tasks, and for rapidly developing form like front ends are discussed in considerable detail

Key Skills
  • Complex data structure design and implementation
  • Understanding of modular programming techniques in Perl - based on developing appropriate data structures and the algorithms to manipulate these data structures
  • Implementing Perl applications with graphical user interfaces
  • Writing awk style applications in Perl
  • Implementing multitasking and multithreading applications
  • Developing system and database administration scripts.
  • Encrypting sensitive data - both entire documents, and fields in a database record
  • Automating use of interactive applications such as FTP by developing Expect style scripts

Practical Work
The course contains a number of fairly simple familiarisation exercises and a much smaller number of extended mini-projects that take one to two hours to complete. Some of the projects are for post course practice.
Attendees are encouraged to put in extra hours beyond the formal classroom hours which are from 9am to 6pm on the first four days and from 9am to 4pm on the last day of the course. The classroom will be open from 8am in the morning and till 7pm in the evening for those wishing to put in the effort.
  • Processing log files to generate reports and to look for unusual patterns of activity.
  • Implementing a secure messaging system about the types of events recorded in a log file
  • Formatting the output of a report as a web page
  • Implement a file backup and recovery application
  • Use the values entered on a form to generate a customer reply letter
  • Displaying database query results in a tabular form
  • Building a database Query by Example front end
  • Implementing Master-Detail database application

Course Contents
Overview of Perl
  • data types
  • built in functions and variables
  • manipulation of arrays and hashes
Perl references
  • data references (hard references)
  • symbolic references
  • representing complex data structures in Perl
  • typeglobs and references
  • subroutine references
Data Structures and Algorithms in Perl
  • Recursive subroutines
  • Binary trees - basic and self balancing
  • Data persistence - Data::Dumper and storable modules
  • Anonymous subroutines
  • Prototyping subroutines
Modules and packages
  • simple packages
  • nested packages
  • package initialisation
  • package destruction
  • nesting packages
  • importing symbols
  • autoloading
Object oriented programming
  • overview of OO concepts
  • concept of blessing references
  • how objects can be realised in Perl
  • Constructor, Destructor and Instance methods
  • inheritance
  • ties and closures
  • creating private methods by use of closures
Network and Distributed Computing
  • Sockets programming
  • the Perl messaging toolkit (Msg::)
  • Programming with the Net::*modules
  • RPC programming in Perl
  • Perl encryption modules
Developing Graphical User Interface (GUI) based applications using Perl/Tk
  • TK widgets - windows, buttons, menus ...
  • Controlling layout via the pack geometry manager
  • Event driven programming - associating actions with widget events
  • Practical user interface design
Accessing Relational Databases
  • Overview of Relational Databases and SQL
  • Connecting to a database via DBI
  • Preparing and Executing queries with DBI
  • Processing data returned from a query via DBI
In depth regular expressions
  • filters and pipelines of filters
  • nested regular expressions
  • data transformation using regular expressions and substitutions
Multitasking and multithreading
  • spawning child processes with fork()
  • interprocess communication with anonymous pipes
  • multithreading with Perl's Thread module
  • thread synchronisation
  • multithreaded server implementation techniques
Code - Safety, Integrity, Portability, Performance
  • script integrity assurance with Perl's taint module
  • profiling code with benchmark
  • using eval to catch exceptions
  • using pod to embed documentation into code
  • calling C code from Perl
  • embedding a Perl interpreter in a C program
  • compiling Perl

Advanced Perl

£ 1,750 + VAT