Welcome to ONLC Training Centers

Advanced Perl Programming

Need a price quote?

Follow the link to our self-service price quote form to generate an email with a price quote.

Need a class for a group?

We can deliver this class for your group. Follow the link to request more information.

Email Alert

Receive an email when this class is available as "Ready to Run" or "Early Notice" status.

Train from your home or office

If you have high-speed internet and a computer you can likely take this class from your home or office.


Advanced Perl Programming Course Outline

Overview
Perl has evolved from its beginnings as an eclectic scripting tool for UNIX administrators into one of the most popular, influential, and widely used computer languages in history. In this course, you will learn how to fully utilize the Perl programming language.

Audience
Application programmers, system administrators, web-site authors, webmasters, and UNIX/NT power users.

Prerequisites
Perl Programming and Perl application development experience. Full comprehension of the extending and embedding material will require some C or C++ programming experience.

Number of Days
4 days

Course Outline

1. 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

2. Expert List Manipulation
The grep Operator
Lists, Arrays, and List Operators
Context
and Subroutines
Initializing Arrays and Hashes
Reference Syntax
Auto-vivification
Defined Values
Other List Operators
Usage of map, grep, and foreach

3. 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

4. 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

5. 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

6. Tied Variables
Why Use tie?
Tying a Scalar
Inside Tied Variables
untie
Tying an Array
Tying Hashes
Tie::Hash and Tie::Array
Tying Filehandles
What Are DBM, NDBM, GDBM, SDBM, etc?
Using the DBM Modules

7. 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

8. 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

9. 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

10. Introduction to Perl/Tk
Tcl, Tk, Tcl/Tk, Tkperl, Perl/Tk, etc.
Perl/Tk
Creating a Perl/Tk Application
GUI Programming Overview
Adding Widgets
Scrolled Widgets
Configuring Widgets
Menus
More Fun with Menus
Using FileSelect

11. Perl/Tk Programming
Tk::Error and Tk::ErrorDialog
Configuring Widgets
Geometry Management
Geometry Management with grid()
The Frame Widget
Defining Widget Callbacks
Bindings
Nonblocking I/O with fileevent()
Tags
Other Widgets
Other Tk Commands
Getting Tk

12. Extending Perl with C/C++
Extending the Perl Interpreter
Overview of Perl5 XSUBs
Get Started with h2xs
Set up the Perl Wrapper Class
Write the XS Code
The XS File
Write Some Test Code
What Do You Want?
Returning Values on the Stack
A Walk through an XSUB
Arguments to XSUBs
Other h2xs Options

13. Embedding the Perl Interpreter
Why Embed Perl?
Embedding Perl in a C Program
Compiling the Program
perlmain.c
Perl Data Types
Macros and Functions
Manipulating Scalars
Memory Management
Script Space
Evaluating Perl Expressions
Dynamic Loading
Multiple Perl Interpreters

14. 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

15. Design and Implementation
Think First
Object-Oriented Design
Object-Oriented Development
Library Modules
Utility Programs
Filters
Performance
Timing with Benchmark
View outline in Word

XPPMUN

Attend hands-on, instructor-led Advanced Perl Programming training classes at ONLC's more than 300 locations. Not near one of our locations? Attend these same live classes from your home/office PC via our Remote Classroom Instruction (RCI) technology.

For additional training options, check out our list of Perl Courses and select the one that's right for you.

GENERAL INFO

Class Format
Class Policies
Student Reviews


HAVE QUESTIONS?
First Name

Last Name

Company

Phone

Email

Location

Question/Comment



ONLC TRAINING CENTERS
www.onlc.com