0345 4506120

Introduction to Perl Programming

UNIX, Linux and Windows administrators, software engineers, programmers and power users. Previous experience with a procedural or object-oriented programming language is assumed. Knowledge of UNIX scripting tools and regular expressions is helpful.

Learning Objectives

  • Quickly create effective, reusable Perl scripts
  • Take advantage of Perl 5's many small operators and built-in functions
  • Structure code with user-generated subroutines
  • Exploit the many additional object-oriented packages available on the Internet
  • Build real-world scripts that can be used on UNIX, Linux and Win32 platforms
  • Solve complex data manipulation tasks with ease


Previous experience with a procedural or object-oriented programming language is assumed. Knowledge of UNIX scripting tools and regular expressions is helpful.

Course Content

Introduction to Perl

  • Perl strengths: ease of programming with operators, flexibility, execution speed
  • Reusable tool building for system admin, text manipulation, the Internet
  • Popular application areas: networking, text filtering, Web application programming

Perl Syntax Fundamentals

Running Perl programs

  • Invoking Perl scripts under UNIX/Linux with "shebang" syntax
  • Starting Perl scripts under Win32 via command line associations
  • Getting help with perldoc

Variable types and contexts

  • Scalars vs. lists vs. hashes
  • Strings and interpolated strings
  • Making sense of special variables
  • Working in the right context

Compound data structures

  • Generating references to named variables
  • Creating references to anonymous data
  • Building multidimensional arrays
  • Working with multidimensional hashes

Managing files and user input

  • Handling standard I/O streams
  • Defining and using file handles
  • Parsing command line arguments
  • Reading and writing data files

Pattern Matching and Operators

Perl regular expressions

  • Extracting important text information
  • Building on UNIX regular expressions
  • Altering data with substitutions
  • Performing global and case-insensitive matches

Perl's small operator groups

  • Manipulating arithmetic expressions
  • Replicating and growing strings
  • Saving time with assignment operators
  • Obtaining file attributes
  • Making decisions with logical operators
  • Establishing and using ranges

Looping, Decisions and Flow Control

Perl support for conventional flow control constructs

  • Making decisions with if/else/elseif
  • Creating loops with do, while, until, for and foreach

Perl-specific constructs

  • if and unless as statement modifiers
  • Altering flow with next and last
  • Constructing switch statements


Writing subroutines

  • Defining and calling a subroutine
  • Passing and receiving parameters
  • Returning values to the caller

Making data work for you

  • Localising variables: my and local
  • Accessing global variables
  • Extracting local variables with shift

Built-in and Add-on Functions

Common data manipulation requirements

  • String functions for text manipulation
  • Processing arrays with list functions
  • Arranging information with sort
  • Sorting data on multiple fields

I/O and tool building

  • Manipulating file system entries
  • Reading binary files
  • Dissecting and creating records with split and join
  • Formatting tabular output

Perl and Object Orientation

How Perl implements object orientation

  • An introduction to OO in Perl
  • Methods, classes and constructors
  • Surveying and obtaining third-party packages from CPAN

Accessing OO packages

  • How to use use
  • Defining a schema to employ OO modules
  • Calling methods with the -> syntax
  • Passing initialisation parameters

Privacy Notice

In order to provide you with the service requested we will need to retain and use your contact information in accordance with our Privacy Notice. If you choose to provide us with this information you explicitly consent to us using the information as necessary to provide the requested service to you. If you do not agree please do not proceed to request the service from us.

Marketing Permissions

Would you like to receive our newsletter and other information on products and services which we think will be of interest to you by email. We will always treat your information with care and in accordance with our Privacy Notice. You are free to withdraw this permission at any time.


Virtual Classroom

Virtual classrooms provide all the benefits of attending a classroom course without the need to arrange travel and accomodation. Please note that virtual courses are attended in real-time, commencing on a specified date.

Virtual Course Dates

Our Customers Include