We're offering 20% off September Live Online classes! See which courses are applicable.   |   Details >

AccountIcon BigDataIcon BlogIcon default_resource_icon CartIcon checkmark_icon cloud_devops_icon computer_network_admin_icon cyber_security_icon gsa_schedule_icon human_resources_icon location_icon phone_icon plus_icon programming_software_icon project_management_icon redhat_linux_icon search_icon sonography_icon sql_database_icon webinar_icon

Search UMBC Training Centers


Perl Programming (Online, Self-Paced)

+ View more dates & times
  • Overview

    This course teaches both the programming interface and the techniques that can be used to write scripts and applications in Perl. This course also covers advanced concepts and capabilities, including object-oriented features, file and network I/O, and database interfaces. Upon completion, students will be able to use Perl techniques and commands to write scripts to perform various user and administrative tasks, and to utilize advanced features of the language.

    There is a shortage of Perl programmers with the skills and problem solving abilities necessary to develop and maintain the software applications and Web services that power our nation’s businesses and government agencies. This represents a tremendous career opportunity for motivated individuals with the right skills and qualifications. This online Perl Programming course is an excellent step toward a rewarding career as a software developer. It is also a suitable course for experienced programmers who wish to learn Perl at their own pace.


    • Overview of Perl
    • Types of variables
    • Formatting a report with printf
    • Accessing records by key(s)
    • Operators
    • Perl variables, symbol tables, and scope
    • Subroutines (functions)
    • Using Perl Typeglobs
    • Input and Output
    • Filename manipulation
    • Hashes and complex hash structures
    • Regular expressions
    • Text and manipulation
    • Efficiency considerations
    • Using Perl References
    • Multi-dimensional arrays
    • References to functions
    • Closures
    • Object Oriented Perl Programming
    • Data Persistence Methods
    • Flat file databases
    • Concurrent access and lock mechanisms
    • Process control
    • Perl Modules and Packages


    This is a self-paced, instructor-mentored course. Students access the course lessons through UMBC Training Centers’ Web-based Learning Management System (LMS). A textbook will be mailed to the student shortly after successful class registration. Students complete lessons independently, working at their own pace. Students may email questions to the instructor and submit programming exercises to the instructor for review and feedback.

    To complete the course, the student must complete and submit the required programming assignments within the LMS. Students will have 90 days from the date of course registration to complete the course. It is recommended that students complete at least one LMS module (lesson) per week. Nothing prevents the student from working at a faster pace and completing in the course in a shorter amount of time.

  • Who Should Take This Course


    A complete list of system requirements can be found here.


    Students should have experience performing basic computer and file management tasks on a modern operating system such as Windows, Mac OS X, or Linux. Students should have good problem solving and logical thinking skills. Prior computer programming experience is helpful but not required.

  • Schedule
  • Course Outline

    Course Introduction

    • Overview of Perl
    • Sample Perl Program
    • Types of Numbers
    • Operations on Numbers
    • String Literals
    • Operations on Strings
    • Converting between strings and numbers
    • Types of variables
    • Symbol tables and variable scope
    • Operator precedence and Associativity
    • Comparison operators
    • if statements
    • Basic user input and output
    • Looping with while loops

    Lists and Arrays

    • Creating and using arrays
    • Accessing array elements
    • List literals
    • List assignment
    • Processing arrays and lists with foreach loops
    • List and array operations


    • Defining and calling subroutines
    • Arguments and private subroutine variables
    • Variable length parameter lists
    • The return operator and return values
    • Using Perl Typeglobs

    Input and Output

    • Input from standard input
    • Input from the “diamond” operator
    • Output to standard output
    • Formatting a report with formatted printf
    • File handles for file input/output
    • Opening and closing a file handle
    • Fatal errors with die and autodie
    • Reading and writing to file handles
    • Filename manipulation


    • Hash overview
    • Accessing records by key
    • Hash assignment
    • Hash functions
    • Typical uses of a hash
    • Complex Hash Structures

    Regular Expressions

    • Using simple regular expressions
    • Meta-characters and quantifiers
    • Character classes
    • Matching with regular expression
    • Matching with m// and modifiers
    • Using anchors
    • The binding operator
    • The Match variables

    Text Manipulation with Regular Expressions

    • Substitutions with s//
    • Case shifting
    • The split operator
    • The join function
    • Non-greedy quantifiers
    • Matching multiple line text
    • Updating files
    • In-place editing from the command line

    More Control Structures

    • The unless and unless-else statements
    • The until statement
    • Expression modifiers
    • The elsif clause
    • Auto-increment and auto-decrement
    • Looping with for loops
    • Loop controls
    • The conditional operator
    • Logical operators and short circuit

    Using Perl References

    • Creating a reference to an array
    • Dereferencing an array reference
    • Modifying the array
    • Multidimensional arrays
    • Nested data structures
    • References to hashes
    • More than on reference to data
    • Reference counting
    • Referencing a subroutine
    • Callbacks and closures

    Object Oriented Programming

    • Introduction to objects
    • Method invocation
    • Overriding methods
    • Using super
    • Objects with Data
    • Accessing instance data
    • Getters and Setters
    • Inheritance
    • Object destruction

    Data Persistence with Flat File Databases

    • Accessing data
    • Concurrent access and locking mechanisms

    Process Control

    • Running programs with the system function
    • Environment variables
    • Running programs with the exec function

    Perl Modules

    • The standard distribution
    • Functional interfaces
    • Object-oriented interfaces
    • Installing modules from CPAN

    Efficiency Considerations

    • Cleaning up code
    • Refactoring
    • Using configurable code
    • Logging with Log::Log4perl
    • Using persistent data
    • Using perltidy
  • FAQs
    Is there a discount available for current students?

    UMBC students and alumni, as well as students who have previously taken a public training course with UMBC Training Centers are eligible for a 10% discount, capped at $250. Please provide a copy of your UMBC student ID or an unofficial transcript or the name of the UMBC Training Centers course you have completed. Online courses are excluded from this offer.

    What is the cancellation and refund policy?

    Student will receive a refund of paid registration fees only if UMBC Training Centers receives a notice of cancellation at least 10 business days prior to the class start date for classes or the exam date for exams.

Contact Us