Perl Programming — a 3-day course
Synopsis
This course is designed to give delegates the knowledge to develop/maintain Perl scripts.
Course Objectives
The delegate will learn to:
- Declare variables and initialise them
- Understand scalar and list context
- Construct expressions with arithmetic, logical and relational operators
- Use iterative type statements
- Use conditional statements
- Read/write text and binary files
- Manipulate text using regular expression
- Use and code subroutines
- Use built-in library functions
- Use arrays and hashes
- Declare and use packages
Suitable for
Programmers who need to write or maintain scripts in Perl.
Prerequisites
- Experience of programming in another programming language is required.
Publicly scheduled dates, locations, and prices
London — £1095 (+VAT)
- 29–31 Mar 2010
- 5–7 May 2010
- 30 Jun–2 Jul 2010
- 11–13 Aug 2010
- 6–8 Oct 2010
- 1–3 Dec 2010
Course Contents
Introduction and Basic Syntax
- What is PERL and why PERL is useful
- How to run PERL programs on UNIX and Windows platform
- A simple PERL Program
- Labs
Operators and Control Flow
- Scalar variables - usage
- Basic arithmetic operators and how they work with scalar operands
- What an expression is
- How to use the if statement and the == operator
- Two-way and multi-way branching using else and elsif
- Simple loops using while and until statements
- Labs
Scalar Values and Scalar Context
- Scalar values and scalar context
- Integer and floating point representation
- Octal and Hexadecimal notations
- Character strings, single and double quote representation
- Escape sequences
- Interchangeability of character and numeric values
- Labs
More Operators
- More arithmetic operators, **, % and - (unary)
- Integer and string comparison operators
- Logical operators
- Bit manipulation operators
- Compound assignment operators
- Autoincrement and autodecrement operators
- Concatenation and repetition operators
- Conditional and comma operators
- Labs
List Context and Array Values
- What lists are
- Relationship between scalars and lists
- Storing lists in array variables
- Accessing elements of arrays and lists
- Range operator
- Array assignment in scalar and list context
- Library functions used with lists
- Labs
List Context and Array Variables
- What lists are
- Relationship between scalars and lists
- Storing lists in array variables
- Accessing elements of arrays and lists
- Range operator
- Array assignment in scalar and list context
- Library functions used with lists
- Labs
Pattern Matching
- How pattern matching works
- Pattern matching operators
- Pattern matching special characters
- Labs part I
- Pattern matching options
- Pattern substitution
- Pattern tagging
- Translation
- Labs
Subroutines
- What is a subroutine
- How to define and invoke subroutines
- Argument passing and return values from a subroutine
- Typeglob for argument passing
- Local and global variables in subroutines
- How to nest subroutines
- How to use recursive subroutines
- Special system subroutines - AUTOLOAD, BEGIN and END
- Labs
Associative Array
- What an associative array is
- How to define and use associative arrays
- Initialising and extending hashes
- Assigning and copying hashes
- How to delete elements of an associative array
- How to loop using associative arrays
- Library function used with associative arrays
- How to build advanced data structures using associative arrays
- Labs
Multithreading
- What is Multithreading
- How to check the perl interpreter for multi thread capability
- Create a simple Multi Thread program
- More complex example of multi threading
- Problems with multi thread programs
- Labs
Miscellaneous System and Data Manipulationg Functions
- Handling Errors - die, warn, eval
- Handling exceptions - throw, catch
- Handling signals - %SIG hash, kill, alarm, sleep
- Directory manipulation functions
- File attribute functions
- Labs
Arrays & Hashes
- Multi-dimensional arrays
- Hashes containing arrays
- Hashes of hashes
- Labs
Modules & Pachages
- Namespaces
- Scope resolution operator
- Package declaration
- Use and require
- Data hiding and exporting
- Finding libraries and modules - @INC and %INC
- Setting the search path
- Labs
