PERL programming

Course Code: H4311S
Length: 5 days

Schedule and Registration

This course is not currently scheduled.

Course Overview

This course provides system administrators, programmers, and technical users with the basics of Perl programming. Topics include: Perl program syntax and structure, control and data structures, file processing, use of pattern matching, skills needed for doing system administration with Perl (e.g. running system commands and checking return codes), creating functions, processing fixed-width or binary files, importing and using modules (including object-oriented modules), and programming CGI. The course is 40 percent lecture and 60 percent hands-on labs using HP server.


  • UNIX Fundamentals (HP 225) or equivalent experience
  • Equivalent UNIX experience including using the editor and navigating directories and
  • Basic programming experience in C or Java or another high level programming language or an operating system command shell (csh, ksh, or POSIX)


  • System administrators, programmers, and technical users

Course objectives

  • Understand the use of Perl modules, such as Sockets
  • Write basic CGI programs that are secure

At the conclusion of this course you will be able to:

  • Read and maintain existing Perl scripts
  • Create and execute a Perl program
  • Use looping and branching statements
  • Use lists, arrays, and hashes
  • Use regular expressions
  • Execute system commands from within a Perl script
  • Use subroutines to modularize programs
  • Use references to implement advanced data structures

Benefits to you

  • Understand and maintain Perl scripts already in use in your environment
  • Learn how to create and run a Perl program, saving time and increasing productivity by automating administrative tasks
  • Learn how to improve control over basic system and user tasks
  • Create comprehensive and useful Perl utilities that can dramatically aid in troubleshooting and administrative tasks

Course Contents

Introduction to Perl programming
  • What is Perl?
  • Parts of a Perl program
  • Creating a Perl program
  • Introduction to Perl programming
Perl statements
  • Format of Perl statements
  • Variables
  • Commands
  • Evaluation and assignments
  • Operators
Managing data
  • Standard file descriptors
  • Opening files
  • Reading and writing files
  • Formatting
  • File handling functions
Looping and branching
  • What is true/false?
  • The 'if' conditional
  • Using 'unless'
  • Loops with 'while' and 'until'
  • The 'for' loop
  • Using 'foreach'
Lists, arrays and hashes
  • Creating and working with lists
  • Creating and working with arrays
  • Creating and working with hashes
  • Commands for lists, arrays, and hashes
Looping and branching controls
  • Modifiers
  • Using "short-circuit" statements
  • Modifying execution of a loop
  • Using labels
  • Commands related to users and groups
Pattern Matching
  • Uses for pattern matching
  • Using regular expressions
  • Literal and character matching
  • Anchors and quantifiers
  • Capturing and backreferences
  • Command modifiers
Module Subroutines
  • Creating and calling a subroutine
  • Pass by value call
  • Pass by reference call
  • Prototypes
  • Using subroutines
Special Variables
  • Record handling
  • Formats
  • Regular expressions
  • Process information
  • Arrays and hashes
  • Process and time commands
Advanced Data Structures
  • What is possible
  • Creating and using references
  • Anonymous references
  • Simple and complex records
  • Array of records
  • Arrays of arrays and hashes
  • Hashes of hashes and arrays
  • Using linked lists
The Common Gateway Interface (CGI) Protocol
  • The CGI protocol defined
  • CGI's role
  • Creating a form
  • Text area and radio buttons
  • Security and pathname issues
  • Environmental variables
  • Debugging CGI scripts
Perl Modules
  • What is a module?
  • Building and installing modules
  • Sockets
  • CGI