Introduction to Perl Programming

3 Day Course
Hands On

Book Now - 2 Delivery Methods Available:

Classroom Virtual Classroom Private Group - Virtual Self-Paced Online


On completion of the course the delegate will have a good practical knowledge of how to write successful PERL scripts. This course is intended for UNIX and Windows administrators, Web developers, programmers wishing to manipulate text files and anyone wishing to use PERL to create tools to enhance their productivity.


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.

Training Partners

We work with the following best of breed training partners using our bulk buying power to bring you a wider range of dates, locations and prices.


Collapse all

Introduction and Basic Syntax (4 topics)

  • 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 (7 topics)

  • Scalar variables - usage
  • Basic arithmetic operators & 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 Context and Scalar Values (7 topics)

  • 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 (9 topics)

  • 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 & Array Variables (8 topics)

  • 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 (9 topics)

  • How pattern matching works
  • Pattern matching operators
  • Pattern matching special characters
  • Labs part I
  • Pattern matching options
  • Pattern substitution
  • Pattern tagging
  • Translation
  • Labs

Subroutines (9 topics)

  • 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 Arrays (9 topics)

  • 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

Multi Threading (6 topics)

  • 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 & Data Manipulating Functions (6 topics)

  • 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 (4 topics)

  • Multi-dimensional arrays
  • Hashes containing arrays
  • Hashes of hashes
  • Labs

Modules & Packages (8 topics)

  • 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


Familiarisation with programming concepts is useful, this knowledge can be obtained by attendance on the Introduction to Programming course.

Scheduled Dates

Please select from the dates below to make an enquiry or booking.


Different pricing structures are available including special offers. These include early bird, late availability, multi-place, corporate volume and self-funding rates. Please arrange a discussion with a training advisor to discover your most cost effective option.

Code Location Duration Price Sep Oct Nov Dec Jan Feb
Virtual Classroom (London)
3 Days $1,460

Course PDF


Share this Course


Recommend this Course