Advanced Perl Programming

Working with Perl

The Advanced Perl Programming training course focuses on the practical aspects of “working with Perl” to created production systems.

During the lecture and lab portions of the course, you will learn how to write Perl code that makes use of best practices in Perl, and can therefore more easily be used by others. This includes using the built-in features of the language as well as learning and applying common approaches that make code more debug-able. Along with learning perl best practices, you will also learn how to write object-oriented perl programs, proper packing techniques in support of deployable products, and how to integrate Perl with C/C++ code.

Writing your own code to create advanced perl programs is one part approach. Another approach is to leverage common Perl libraries which you can build upon to build your product. The second part of the Advanced Perl Programming course focuses on just that – using the large body of pre-existing code available via CPAN. Two specific packages will be addressed in detail: the use of SQL and Perl’s DBI/DBD framework for accessing vendor databases, and the development of GUI-based code based on Perl/Tk.

Prior experience with Perl is assumed.

Course Summary

Learn the best practices when using Perl to write large scale programs.
Programmers, System Administrators, Webmasters wanting to taken their Perl skills to the next level.
Skill Level: 
Learning Style: 

Hands-on training is customized, instructor-led training with an in-depth presentation of a technology and its concepts, featuring such topics as Java, OOAD, and Open Source.

Hands On help
4 Days
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
    • Using Module Documentation
  • Introduction to DBI/DBD
    • 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
  • DBI/DBD 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
    • 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

Meet Your Instructor

Dave Photo

Dave began his professional career working in a government lab in collaboration with resident scientists. Exploring alternative approaches to the analysis of various satellite data and developing analysis tools suitable for the scientists provided ample opportunity to polish his coding skills.

Subsequent employment has taken Dave through multiple roles supporting large user communities, including overseeing Internet security concerns in a data warehouse, participating in the design and early development of...

Meet Dave »

Contact us to learn more

Not all training courses are created equal. Let the customization process begin! We'll work with you to design a custom Advanced Perl Programming training course that meets your specific needs.

DevelopIntelligence has been in the technical/software development learning and training industry for nearly 20 years. We’ve provided learning solutions to more than 48,000 engineers, across 220 organizations worldwide.

About Develop Intelligence
Di Clients


Need help finding the right learning solution?   Call us: 877-629-5631