Home About Courses Schedule Services Webinars Contact Search

Introduction to Perl Scripting and References


Duration: 5 Days

Method: Instructor led, Hands-on workshops

Price: $2475.00

Course Code: PE1015


Programmers, application developers, system and network administrators, computer analysts, technical managers, and other new or casual users of Perl who need to understand, modify, or create Perl scripts.


This course provides an intensive introduction to Perl, with focus on rapidly gaining competence in using Perl's complex syntaxes in real-world types of programs. The presentation is an integrated mixture of lecture and workshop activities that introduce and reinforce techniques and approaches. Workshop activities follow the classroom material and are designed for both topic reinforcement and practice. All programming topics are supported by workshops and more than 130 complete program samples. This course is a combination of 3-day PE1010 Introduction to Perl Scripting and 3-day PE1020 Advanced Topics in Perl Programming.


Upon successful completion of this course, the student will be able to:

  • Perform data processing tasks using scalar literals and variables, both string and numeric
  • Organize data in list arrays and hash arrays using literals and variables
  • Perform file and directory management, and some system administration tasks, by using file and directory operators
  • Use conditional and looping control structures and related operators: if, unless, while, until, for, foreach, last, next, redo, labeled blocks, and the expression modifiers: if, unless, while, and until
  • Produce reports using print and printf
  • Reading files specified as command line arguments
  • Create modular programs by using subroutines, including protection of data via local and my variables
  • Perform wildcard searches of data via regular expressions and the matching and substitute operators
  • Perform file and directory management including globbing and use of hard and soft links


Basic familiarity with UNIX or Windows, and ability to create and modify a small file.


  • I. Create and execute Perl programs that use:
    • Scalar variables and scalar literals consisting of numbers or strings
    • List array literals and variables ("lists")
    • Hash array literals and variables ("hashes")
    • Operators for lists and hashes
  • II. Use the control structures if, unless, while, until, for, and foreach as well as:
    • last
    • next
    • Labelled blocks
    • redo
    • Expression modifiers if, unless, while, until
    • Conditional construct ?:
  • III. Use operators for numeric and string scalars
    • ++ and --
    • Numeric operators for comparison and arithmetic
    • String operators for concatenation, comparison and repetition
    • chop()
    • chomp()
    • system()
    • Grave accents to assign the output of the system command
    • gethostbyname()
    • &&, ||, !
  • IV. Use the operators for lists and hashes
    • push()
    • pop()
    • shift()
    • unshift()
    • reverse()
    • sort() for Ascending and Descending Character and Numeric Sorts
    • chop()
    • chomp()
    • keys()
    • values()
    • each()
    • delete()
    • exists()
    • defined()
  • V. Perform basic input and output operations
    • <STDIN> in scalar and array context
    • @ARGV and $ARGV
    • $0
    • print()
    • printf()
    • sprintf()
    • open and close files using filehandles, open(), close(), And die()
    • file tests
    • Here documents
  • VI. Use regular expression ("regex") wildcards to locate strings containing described contents, and the substitute, split, and join operators
  • VII. Define and invoke subroutines, pass arguments, return a return value, and use @_ and local and my variables
  • VIII. Perform file and directory management including globbing and use of hard and soft links via the operators chdir(), opendir(), closedir(), readdir(), unlink(), rename(), link(), symlink(), readlink(), mkdir(), rmdir(), chmod(), chown(), stat(), lstat()
  • IX. Work with Perl modules, including use of quoting with qw, q, And qq; use strict; packages; symbol tables and qualified names; @INC; @ISA; importing with use, use(List), and require; AUTOLOAD; how to work with the same sub name in multiple modules; and File::Basename.pm
  • X. Work with object-oriented modules using the example of DBI.pm
  • XI. Describe and use the pragma integer and the declaration no
  • XII. Work with complex data structures via hard references, anonymous lists, and anonymous hashes to create, populate, and obtain data values from multi-dimensional lists and hashes
  • XIII. Pass complex data structures to subroutines, and make use of them within subroutines
  • XIV. Determine the structure of multi-dimensional arrays and hashes via ref( ), dumpvar.pl, and dumpValue( )
  • XV. Describe and use classes, objects, bless( ), class and instance data members and methods, constructors and destructors
  • XVI. If time permits, the following topics will be covered briefly:
    • String operators index(), rindex(), substr(), sort(), tr()
    • Time operators time, utime(), localtime()
    • %ENV
    • Grave Accents To Capture Standard Output
    • Filehandles For Processes