In this Perl training course, students already familiar with Perl will learn advanced programming techniques in Perl.
Class goals :
Learn to debug Perl applications
Learn to efficiently manipulate lists in Perl
Learn to work more effectively with Perl packages
Learn to work with Tied Variables in Perl
Learn to manipulate databases with Perl
Learn to effectively use Perl Modules
Learn to work with Perl/Tk
Learn to extend Perl with C/C++
Learn to embed the Perl Interpreter into a program
Learn to create your own Perl modules
Content of Training Perl / Advanced
Class Outline
Debugging Perl
Warnings
Diagnostic Messages
Carping, Confessing, and Croaking
Strict Checks
Compiler Pragmas
Debugging Flags
Your Perl Configuration
The Devel::Peek Module
The Data::Dumper Module
Expert List Manipulation in Perl
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
Blocks and Code References in Perl
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
Perl 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 in Perl
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 in Perl
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 DBI/DBD in Perl
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
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
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
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
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
Module Development and Distribution in Perl
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 in Perl
Think First
Object-Oriented Design
Object-Oriented Development
Library Modules
Utility Programs
Filters
Performance
Timing with Benchmark
Training Perl / Advanced
Onze voordelen :
Type of training: Inter-company, intra-company and individual
100% flexible & personalised training : You choose the place, the dates and the training program
Offer request : Response within 24 hours
50% discount for SME’s from Brussels-Capital Region
Free parking, lunch & drinks
Free use of our Digital Competence Centre: Manuals, courses, exercises, …
In this Perl training course, students will learn to program effectively in Perl.
Class goals :
Learn to work with variables, arrays and hashes in Perl
Learn to write flow control statements in Perl
Learn to manipulate files with Perl
Learn to use Perl’s Regular Expressions
Learn to create complex data structures with Perl
Learn to use Perl packages and modules
Learn to work with Perl’s object-oriented features
Learn to write subroutines in Perl
Content of Training Perl for Unix / Introduction
Class Outline
Overview of Perl
What is Perl?
Running Perl Programs
Sample Program
Another Sample Program
Yet Another Example
Perl Variables
Three Data Types
Variable Names and Syntax
Variable Naming
Lists
Scalar and List Contexts
The Repetition Operator
Arrays and Hashes in Perl
Arrays
Array Functions
The foreach Loop
The @ARGV Array
The grep Function
Array Slices
Hashes
Hash Functions
Scalar and List Contexts Revisited
Quoting and Interpolation in Perl
String Literals
Interpolation
Array Substitution and Join
Backslashes and Single Quotes
Quotation Operators
Command Substitution
Here Documents
Perl Operators
Perl Operators
Operators, Functions and Precedence
File Test Operators
Assignment Operator Notations
The Range Operator
Flow Control in Perl
Simple Statements
Simple Statement Modifiers
Compound Statements
The next, last, and redo Statements
The for Loop
The foreach Loop
I/O: Input Operations and File I/O with Perl
Overview of File I/O
The open Function
The Input Operator < >
Default Input Operator
The print Function
Reading Directories
Regular Expressions in Perl
Pattern Matching Overview
The Substitution Operator
Regular Expressions
Special Characters
Quantifiers (*, +, ?, {})
Assertions (^, $, b, B)
Advanced Regular Expressions in Perl
Substrings
Substrings in List Context
RE Special Variables
RE Options
Multi-line REs
Substituting with an Expression
Perl RE Extensions
Subroutines in Perl
Overview of Subroutines
Passing Arguments
Private Variables
Returning Values
References
References
Creating References
Using References
Passing References as Arguments to Subroutines
Anonymous Composers
The Symbol Table
Complex Data Structures in Perl
Two-dimensional Arrays in Perl
Anonymous Arrays and Anonymous Hashes
Arrays of Arrays
Arrays of References
A Hash of Arrays
A Hash of Hashes
And So On…
Perl Packages and Modules
Packages
BEGIN and END Routines
require vs. use
Modules
The bless Function
Introduction to Object-Oriented Programming in Perl
What is Object-Oriented?
Why Use Object-Oriented Programming?
Classes, Objects, and Methods in Perl
Inheritance, the « is-a » Relationship
Containment, the « has-a » Relationship
Overloaded Operators
Destructors
Binary Data Structures in Perl
Variable-Length (Delimited) Fields
Variable vs. Fixed
Handling Binary Data
The pack Function
The unpack Function
The read Function
C Data Structures
Multitasking with Perl
What are Single and Multitasking?
UNIX Multitasking Concepts
Process Creation with fork
Program Loading with exec
File Descriptor Inheritance
How UNIX Opens Files
One-Way Data Flow – Pipes
Example
Final Result – Page Viewing
Sockets Programming in Perl
Clients and Servers
Ports and Services
Berkeley Sockets
Data Structures of the Sockets API
Socket System Calls
Generic Client/Server Models
A Client/ServerExample
A Little Web Server
Training Perl for Unix / Introduction
Onze voordelen :
Type of training: Inter-company, intra-company and individual
100% flexible & personalised training : You choose the place, the dates and the training program
Offer request : Response within 24 hours
50% discount for SME’s from Brussels-Capital Region
Free parking, lunch & drinks
Free use of our Digital Competence Centre: Manuals, courses, exercises, …
This hands on Perl programming course provides a thorough introduction to the Perl programming language, teaching attendees how to develop and maintain portable scripts useful for system management, data manipulation, and Web CGI programming.
Class goals :
Extensive hands on exercises provide practice in report creation, pattern matching, string manipulation, file I/O, command line processing, and debugging. Students are shown how to extend Perl’s basic functionality with packages and loadable modules. The final day encompasses CGI scripting with Perl as well as database access using the DBI module. Attendees are shown how to validate form data, how to perform robust database access, and how to generate HTML output in order to create a dynamic web site.
Content of Perl Programming and CGI Scripting
Perl Fundamentals
Running Perl on UNIX and Windows
Using Scalar Variables
Using Arrays
Operators, Expressions and Precedence
Arithmetic and String Operators
Relational and Logical Operators
Using the Conditional Operator
Understanding File Test Functions
Conditional Constructs
Looping Constructs
Using Subroutines
Global vs. Local Variables and Scoping
Debugger Concepts
Using Perl Script Arguments
Using Regular Expressions
Reading and Writing Files
Understanding Scope
Understanding Modules
Writing to Files and Using Multiple Named Formats
The Common Gateway Interface
Configuring a Web Server for CGI
The Apache httpd.conf File
Aliasing CGI-Enabled Directories in Apache
Relationship Between HTML and CGI
The CGI Output Stream
Specifying MIME Types
Printing Dynamic Content
Working with Form Data
Using the Perl CGI.pm Module
Creating Forms with CGI.pm
Form Processing with CGI.pm
Setting Cookies
Using Relational Databases with Perl CGI
Connecting to a Database
Procedural and Object Oriented Programming
Training Perl Programming and CGI Scripting
Onze voordelen :
Type of training: Inter-company, intra-company and individual
100% flexible & personalised training : You choose the place, the dates and the training program
Offer request : Response within 24 hours
50% discount for SME’s from Brussels-Capital Region
Free parking, lunch & drinks
Free use of our Digital Competence Centre: Manuals, courses, exercises, …
This hands on Perl programming course provides a thorough introduction to the Perl programming language, teaching attendees how to develop and maintain portable scripts useful for system management, data manipulation, and Web CGI programming.