Perl Course Modules for In-house Perl Training
Combine Modules for Customised Perl Training
Most of our Perl course modules are outlined below. They can be combined in different ways to produce a wide range of specialist Perl courses. Our own "off the shelf" Perl courses are, for example, built in this way.
With judicious selection, a purchasing company can build itself a bespoke Perl training solution from these modules at a fraction of the usual cost.
The vast majority of modules and their hands-on exercises are delivered in a quarter day. A few exceptional modules last a half day, because cross-dependencies in their content dictate a specific sequence of progress.
Please ring our training advisors for help in assembling a course with appropriate content, speed of progress, prerequisite knowledge, and consistent subject matter, etc.
- N.B. GBdirect write fully-bespoke courses for clients in all of our specialist areas of consultancy. If you have such a requirement and the budget for it, please contact our course developers for advice and support.
Listings of our Perl Modules
Preparing to Learn Perl
- Things you need to know and do in order to run Perl programs and learn Perl
programming
- A module designed for complete beginners
- The
perl compiler/interpreter
- Perl under Unix/Linux
- Perl under MS Windows 2000/NT/95/98/ME (
perl.exe)
- ActiveState Perl
- Making programs executable (
chmod +x)
- Perl from the command line (
perl command)
- Specify the perl compiler/interpreter (
#!)
- Using plain text for programs
- Writing a very simple program
- Running a very simple program
- Basic syntax
Perl: The Absolute Minimum
- Enough of the language to get started
- The
print function
- Variables
- Scalars — numbers and strings
- Assignment
- Simple conditional tests —
if
- Lists
- Arrays — for storing lists
foreach loops
- Hashes
- Other loops:
while, for, do,
until
- Arrays — the rest
- Simple input, e.g.,
while(<>)
- Functions overview — recognising, writing, using
- Simple file handling —
open, print
- Subroutines — parameters in and out, listification, local
variables (
my)
- Help —
perldoc, books, web
Regular expressions
- Text manipulation with regular expressions
- Matching strings
- Matching the default variable
- Case-sensitivity and matching
- Special characters
- Special characters: where
- Special characters: what
- Special characters: how many
- Built-in character classes
- Built-in character class examples
- Capturing
- Regular expression examples
- Substitution
- Global substitutions
Perl: Beyond the Basics
- More flow control
- Statement modifiers
- Quoting mechanisms —
qq(), etc.
- Here documents
- Uppercase/lowercase conversion
- Splitting strings into lists
- Joining lists into strings
- Filtering lists with
map
- Sorting lists
- The importance of context
- Assignment shortcuts
- Scoping rules
- Special variables
Complex data structures & references
- Limits of flat lists
- Nesting arrays
- Array references
- Anonymous arrays
- Named array references
- Passing multiple arrays to/from functions
- Hashes of arrays
- Hash references
- Arrays of hashes
- Hashes of hashes
- Complex nested data structures
- Code references
- Dispatch tables
Finding Out More For Yourself
- How to read Perl's documentation
- Where to find more information
- Knowing what's out there to look for
- FAQs
Using Perl Modules from CPAN
- The Comprehensive Perl Archive Network (CPAN)
- Why effective Perl programmers are efficient CPAN users
- CPAN's philosophy
- Finding modules
- Installing Modules
- Using modules
- Some particularly useful modules
Command Line Perl
- General principles
- Using Perl as a filter
- Editing files in-place
- Many real world examples
- Command line flags
- Many examples using regular expressions
Handling Databases with Perl
- Interacting with SQL databases from Perl
- Using DBI
- Connection/disconnection, log in/log out
- Retrieving a single record
- Retrieving multiple records
- Update/insert queries
- Placeholders and bind values
- Connecting through ODBC
Introduction to CGI Programming With Perl
- Printing a CGI header for a simple command-line program
- Running the simple program as a CGI script
- Form handling — CGI::Lite for parameter parsing
GET
POST
- Debugging CGI programs
- Running CGI programs at the command line
A Whistle-Stop Tour of the World of Perl
- Wheels you don't need to re-invent
- Common recipes
- Common pitfalls
Advanced File Processing with Perl
- Types of
open
- Filehandles
- Reading line by line
- Reading paragraph by paragraph
- Reading entire files
- Special variables
- The flip-flop operator (
..)
- File test functions
- Pipes
Creating Web Pages with HTML::Template
- Using a simple
print statement to output HTML
- Embedding Perl in HTML
- Template systems — separating code and layout
- HTML::Template
- HTML::Template conditionals
- HTML::Template loops
- Changing the templates but not the code
Advanced Perl Regular Expressions
- Commenting regexps —
/x
- Word boundaries
- Grouping without capturing
- Single/many line strings
- Zero-width lookahead assertions
- Lookbehind assertions
- Back-references
- Alternation
- Quantifiers:
?, {}
- Non-greedy quantifiers
- Finding multiple matches
- Dynamically making replacement text
|
Creating Classes and Objects in Perl
- Using object-orientation: classes and objects
- Constructors
- Object methods
- Destructors
- Dual-purpose class and object methods
- Inheritance
- An example class:
CGI::Page
Advanced Perl Miscellany
- Exception-handling: trapping run-time errors
- Executing code fragments in strings
- Secret subroutines
- Static variables
- Subroutine prototypes
- Benchmarking code
Creating Perl Modules
- Modules
- Packages & files
- Creating a module
- Defining functions in modules
- Exporting functions from modules
- Variables in modules
- When you should create a module
Logging with Perl
- Text logs
- Logs used on Unix
- Handling state
- Disk usage problems
- Log analysis
- Log munging
- Logging related modules
Managing Networks with Perl
- Host Files
- DNS
- NIS lookups
- WHOIS
- LDAP
- ADSI
- Sending and receiving email
- Related modules
Perl Security Issues
- Potential security pitfalls
- Coding for security
- Taint checking
- Dangerous environment variables
- File input
- Set-user-id Perl programs
- Permissions and users
Managing Users and Processes with Perl
- User identity across platforms
- Process control
- Scheduling events
- Managing disk quotas
- Querying filesystem usage
- Monitoring file operations
- Monitoring network operations
- Related perl modules
mod_perl
- What is mod_perl?
Apache::PerlRun
Apache::Registry
- Persistent database connections:
Apache::DBI
- Migrating from CGI to mod_perl
- Setting Up mod_perl
- Configuring Apache and mod_perl
Network Programming with Perl
- Berkeley sockets
- Higher-level Perl interfaces
- Modules for writing network clients
- Modules for writing network servers
Net::FTP, LWP
- Multiplexing network input/output with
select
The Perl debugger & debugging perl
- Avoiding bugs
- Perl's built-in debugger
- Invoking the debugger
- What you can do with the debugger
- Understanding the debugger's command line interface
- Knowing the debugger's basic command set
- Exploring some extended functions
- Graphical debuggers
- Alternative debugging techniques
Perl Style
- The Philosophy of Perl
- Why good style is important
- Good style
- Bad style
Using LWP for web Client applications
- A library for WWW access in Perl
- Library components (modules)
- The fully object-oriented interface vs. a very simple procedural interface
- Basic and digest authorization schemes
- Redirect handling
- Access through proxy servers
- Building robots and parsing robots.txt files
Advanced Object-Oriented Techniques in Perl
- Multiple inheritance
- Method resolution algorithm
- Customizing method dispatch using
AUTOLOAD
- Using
tie to make instances simulate scalars, aggregates, or file handles
- Operator overloading
Perl for Microsoft Windows
System interaction
- Connecting to other programs
- Unsafe pipes
- Using
IO::Pipe
- Grabbing a program's output
- Other ways to run programs
Managing Dates and Times in Perl
- Time-keeping concepts
- Built-in time functions
- The
DateTime modules
- Storing dates for retrieval
Internationalization and Locales in Perl
Writing Cross-Platform Perl
Handling XML Data in Perl
Handling Unicode in Perl
|