title
Please take a moment to fill out this form. We will get back to you as soon as possible.
All fields marked with an asterisk (*) are mandatory.
Advanced Perl Programming
Course Description
Overview
This four-day course offers many benefits for organizations that do a significant amount of Perl programming. Several chapters teach advanced productivity features of the Perl language itself, including debugging techniques, sophisticated list usage, code references, tied variables, and effective package use. The course puts programmers on very solid ground for doing object-oriented programming in Perl. Programmer productivity increases tremendously by reusing modules written by others, so this course teaches how to find, install, and use libraries of routines from the thousands of freely available Perl modules on the Web. Students learn how to use SQL to access relational databases (such as Oracle) with the DBI/DBD Perl modules - most production Perl programs need to do this, especially web-based back-end server programs. Students will also learn how to build graphical interfaces in Perl using the Perl/Tk module. The course teaches several other productivity features as well, including extending Perl with C/C++, embedding the Perl interpreter in another language, documentation with POD directives, module development and distribution, and advanced Perl design and implementation considerations.Objectives
- Advanced productivity features of the Perl language itself, including debugging techniques
- Sophisticated list usage
- Code reference
- Tied variables
- Effective package use
Audience
- Application programmers
- System administrators
- Website authors
- Webmasters
- 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.
Topics
- Course Objectives
- Course Overview
- Using the Workbook
- Suggested References
- Warnings
- Diagnostic Messages
- Carping, Confessing, and Croaking
- Strict Checks
- Compiler Pragmas
- Debbuging Flags
- Your Perl Configuration
- The Devel: Peek Module
- Tha Data: Dumper Module
- Labs
- The 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
- Labs
- 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
- Labs
- 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
- Labs
- 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
- Labs
- Why Use tie?
- Tying a Scalar
- Inside Tied Variables
- untie
- Another Tied Scalar Example
- Trying and 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
- Labs
- 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
- Labs
- 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
- Labs
- 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
- Labs
- 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
- Labs
- 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
- Labs
- 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
- Labs
- 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
- Labs
- 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
- MakefilePL
- Labs
- Think First
- Object-Oriented Design
- Object-Oriented Development
- Library Modules
- Utility Programs
- Filters
- Performance
- Timing with Benchmark
- Labs
Related Courses
-
Beginning Perl
WDWP-130- Duration: 3 Days
- Delivery Format: Classroom Training, Online Training
- Price: 1,755.00 USD
-
CGI Programming Using Perl
WDWP-165- Duration: 3 Days
- Delivery Format: Classroom Training, Online Training
- Price: 1,755.00 USD
Self-Paced Training Info
Learn at your own pace with anytime, anywhere training
- Same in-demand topics as instructor-led public and private classes.
- Standalone learning or supplemental reinforcement.
- e-Learning content varies by course and technology.
- View the Self-Paced version of this outline and what is included in the SPVC course.
- Learn more about e-Learning
Course Added To Shopping Cart
bla
bla
bla
bla
bla
bla
Self-Paced Training Terms & Conditions
Exam Terms & Conditions
Sorry, there are no classes that meet your criteria.
Please contact us to schedule a class.
STOP! Before You Leave
Save 0% on this course!
Take advantage of our online-only offer & save 0% on any course !
Promo Code skip0 will be applied to your registration
Purchase Information
title
Please take a moment to fill out this form. We will get back to you as soon as possible.
All fields marked with an asterisk (*) are mandatory.