Perl is an interpreted programming language, optimised for scanning text files,
extracting information from files and generating reports based on the obtained
information. It is capable of scanning large amounts of data in a very quick manner.
It is also capable of dealing with binary data. Perl is used by system administrators,
programmers and network designers for data manipulation, WWW programming for parsing
and generating HTML, controlling mail, CGI programming, etc.
Perl is usually associated with Unix, its source code is available for free,
and implemented on most operating systems (including all versions of
Microsoft Windows and .Net, Mac, VMS as well as mainframe MVS and OS400).
The course is run on a Linux platform, but is applicable to other operating systems.
On Completion, Delegates will be able to
- Use all significant features of the Perl 5 programming language
- Develop Perl programmes containing advanced Perl constructs
- Read and understand the extensive Perl reference manual
- Implement advanced data stream handling
- Use functions, modules, and subroutines
- Run and control external programs
- Write programmes manipulating files and directories
- Write powerful report generating programmes implementing Regular Expressions
Appreciate the mechanisms involved in Object Oriented Programming with Perl
Who Should Attend
Experienced system administrators seeking to write fast, powerful and efficient
report generating programs to manipulate data files and logs.
Programmers and analysts intending to implement Perl programs, e.g.
HTML generation, application control, and report generation.
Lectures have an accompanying practical session relating not only to
the newly covered material, but to material and solutions from earlier
sessions, allowing realistic examples to be considered. Hard copies of
all exercises and solutions are provided.
Developers must have a working knowledge of a programming language,
perhaps gained from attending a programming course, or equivalent knowledge.
Prior knowledge of Unix is an advantage, but not an absolute necessity.
Typically, delegate skills will include good experience in a structured
high-level programming language, preferably C, C++ or Java, a working
knowledge of the Unix operating system and experience in shell programming.
A strong understanding of computer systems and data administration is
beneficial, as Perl provides a common solution to a variety of platforms.
Those who intend to use Perl for writing administrative tools may choose to
follow the Mastering UNIX Shell Scripts and UNIX Advanced Data Tools and
Techniques course path to gain sufficient pre-requisite experience.
Perl documentation; Perl history and application; Environment; Script structure,
command line and execution; Pragmas; Perl script examples
Scalars, Arrays, Hashes; Literals; Slices; undef; system variables
Operators and Expressions
Numeric and string expressions and operators; Context conversion; globbing
String functions; Array functions; Hash functions
Conditional statements; for loop; Entry and exit loops; Local variables; Shorthand
conditional statements; Scoping rules; exit; die; File conditional operators; Exception handling with eval
Input and Output
File handles; Reading and writing files; Constructing filters; Changing the default file handle
Process relationaships; Back ticks; The system function; wait & waitpid; Special
variables; fork and exec; Anonymous pipes
Subroutines and Modules
Definition; Calling and returning from; Subroutine arguments, return values and prototypes;
Module structure; Using modules; Standard modules and libraries
printf; Creating reports and formats; Multi-line formats; Output generation; Special formats' variables
Basic and extended set of RE characters; Alternatives and grouping; Character classes;
Search and replace with expressions; Side effect variables; Dynamic pattern details;
Quantifiers; Minimal matching
Advanced Array Functions
Sort function; Customising sort order; Sorting Hashes and objects; grep; map
Definition and purpose of references; Creating, using and examining references; References and subroutines
Introduction to Object-Oriented Programming
Perl OO basics and features; Accessing object fields; Basic Constructors; method calls; Destructors, inheritance
The following additional topics are documented in appendices, but not formally covered :
File System Interaction; Network Programming; DBI Database Interfacing; Introduction to CGI
Programming; Advanced Regular Expressions; Signal Handling