Skip to content

Contact sales

By filling out this form and clicking submit, you acknowledge our privacy policy.

Advanced Perl Programming

Course Summary

The Advanced Perl Programming training course is designed to demonstrate how to work with Perl to create production systems.

The course begins with an introduction of how to write Perl code that makes use of best practices in Perl, and can therefore more easily be used by others. Next, it explores the built-in features of the language as well as learning and applying common approaches that make code more debug-able. The course concludes with by examining how to write object-oriented perl programs, proper packing techniques in support of deployable products, and how to integrate Perl with C/C++ code.

Prerequisites: Prior experience with Perl is assumed.

Purpose
Learn about the best practices when using Perl to write large scale programs.
Audience
Programmers, System Administrators, Webmasters wanting to take their Perl skills to the next level.
Role
Q/A - Software Developer - System Administrator - Web Developer
Skill Level
Intermediate
Style
Fast Track - Targeted Topic - Workshops
Duration
4 Days
Related Technologies
C++ | Perl

 

Productivity Objectives
  • Understand the importance of perl best practices
  • Create modular and reusable code by writing OO perl
  • Work with elements of the CPAN library

What You'll Learn:

In the Advanced Perl Programming training course, you'll learn:
  • Review of Perl Concepts
    • Environment requirements
    • Perl development process
    • Debugging
    • Warnings
    • Diagnostic Messages
    • Carping, Confessing, and Croaking
    • Strict Checks
    • Compiler Pragmas
    • Debugging Flags
    • Your Perl Configuration
    • The Devel::Peek Module
    • The Data::Dumper Module
  • List Manipulation
    • grep Operator
    • Lists, Arrays and List Operators
    • Context
    • Context and Subroutines
    • Initializing Arrays and Hashes
    • Reference Syntax
    • Auto-vivification
    • Defined Values
    • Other List Operators
    • Usage of map, grep, and foreach
  • Blocks and Code References
    • Blocks
    • Subroutines
    • Subroutine Prototypes
    • Code Refs and Anonymous Subroutines
    • Typeglobbing for the Non-Squeamish
    • Local (Dynamic) Variables
    • Lexical Variables
    • Persistent Private Subroutine Variables
    • Closures
    • The eval Operator
    • The Block Form of eval
    • The String Form of eval
    • Block Form of eval for Exception Handling
  • Packages
    • Review of Packages
    • BEGIN and END Blocks
    • Symbol Tables
    • Package Variables
    • Calling Package Subroutines
    • Importing Package Symbols
    • Exporting Package Symbols
    • Using the Exporter Package
    • The use Function
    • AUTOLOAD and @ISA
    • AutoLoader and SelfLoader
  • Objects and Classes
    • Object-Oriented Stuff
    • Making Perl Object-Oriented
    • References
    • The bless Function
    • So, What's a Blessed Thing Good For?
    • Calling Class and Object Methods
    • Object Methods
    • Writing Classes
    • Constructors
    • Inheritance
    • What Perl Doesn't Do
  • Tied Variables
    • Why Use tie?
    • Tying a Scalar
    • Inside Tied Variables
    • untie
    • Another Tied Scalar Example
    • Tying an Array
    • A Tied Array Example
    • Tying Hashes
    • Tie::Hash and Tie::Array
    • Tying Filehandles
    • What Are DBM, NDBM, GDBM, SDBM, etc?
    • Using the DBM Modules
  • Installing and Using Perl Modules
    • Laziness, Impatience, and Hubris
    • CPAN
    • Using Modules
    • Installing a Perl Module
    • Unpacking the Module Source
    • The Configuration Step
    • The Build Step
    • The Test Step
    • The Install Step
    • Using CPAN.pm
    • Using Module Documentation
  • Introduction to DBIDBD
    • The Old Way - DBPerls
    • A Better Way - DBI/DBD
    • Database Programming
    • Handles
    • Connecting to the Database
    • Creating a SQL Query
    • Getting the Results
    • Updating Database Data
    • Transaction Management
    • Finishing Up
  • DBIDBD SQL Programming
    • Error Checking in DBI
    • Getting Connected
    • Drivers
    • Using Parameterized Statements
    • Statement Handle Attributes
    • Other Handle Attributes
    • Column Binding
    • The do Method
    • BLOBs and LONGs and Such
    • Installing DBI Drivers
  • Module Development and Distribution
    • Distributing Modules
    • Get Started with h2xs
    • Files Created by h2xs
    • The Build Library (blib) Directory
    • Unit Testing and test.pl
    • Versions
    • Using blib
    • POD
    • POD Translators
    • Cutting a Distribution
    • Other Niceties
    • Makefile.PL
  • Design and Implementation
    • Think First
    • Object-Oriented Design
    • Object-Oriented Development
    • Library Modules
    • Utility Programs
    • Filters
    • Performance
    • Timing with Benchmark
“I appreciated the instructor's technique of writing live code examples rather than using fixed slide decks to present the material.”

VMware

Dive in and learn more

When transforming your workforce, it's important to have expert advice and tailored solutions. We can help. Tell us your unique needs and we'll explore ways to address them.

Let's chat

By filling out this form and clicking submit, you acknowledge our privacy policy.