Further Perl Programming — A 3 day course
A Perl training course designed take experienced programmers into some further perl aspects, including object orientation.
This Perl course aspects often misunderstood by those who have been using perl for some time.
How to write perl modules and then objects, including inheritance, is also covered.
The networking modules provide the knowledge to write client/server systems and use of network services.
This is a hands-on practical workshop based around the coding of real world solutions to real world problems.
Programmers with several months of Perl under their belt.
Programmers who need to develop their skills beyond their exposure to perl gained from coding within one organisation.
Application programmers who are using Perl as part of their solution.
System Administrators who are looking to go beyond Unix/Linux shell scripting.
Delegates will have had experience of perl but are aware that there are parts of Perl that they do not properly understand. Perl is a large language and 'picking it up on the job' has its limitations, delegates benefit from seeing perl done in other ways.
We find that some experienced Perl programmers benefit from our entry level perl course before taking this one. This is especially true if they find concepts like lists of hashes and hashes of arrays difficult.
This course is designed for cross-platform application (e.g. Microsoft Windows, IIS, Apache, MacOS, and Linux/Unix).
Unix/Linux developers will benefit particularly from Perl variants of popular Unix tools and from the abundance of Perl modules for use with Unix and the Apache web server.
This Perl course assumes that delegates have been using Perl for several months, probably in a Unix/Linux or MS Windows environment.
Publicly scheduled dates, locations, and prices
A schedule of dates for this subject is not currently available. Please call 0333 210 0140 or use our contact form to enquire about places and availability.
Advanced Regular Expressions
- Reminder of Regular Expression Basics
- Different quoting methods
- Writing Regex more clearly
- Word and line Boundaries
- Grouping and capturing
- Zero-Width Lookahead Assertions
- Lookbehind Assertions
- Grouping and Backreferences
- Optional Parts of Patterns
- Non-Greedy Quantiers
- Dynamically Making Replacement Text
'0 but true'
- Trapping Run-Time Errors
- Secret Subroutines
- Static Variables
- Interpolating Expression Evaluation into Strings
- Pre-Sizing Array and Hash Variables
- Coercing Subroutine Arguments, prototypes
- Determining Argument Types and function context
Dates and Times
- Time Keeping Concepts
- Built-in Time Functions
- POSIX functions
- The Time Zone
- Comparing Dates, Date manipulation
- Execution time
Handling XML Data in Perl
- Xml as a Data Storage and Transfer Format
- Writing files out and reading them back in
- Reading in a CSV file
- Modules, Packages & files
- Finding Installed Modules
- Creating a Module
- Defining and exporting functions
- Module Variables
- Module Initiaisation
- Module Boilerplate
- POD — Plain Old Documentation
Creating Classes and Objects
- Example Class Use
- Class Implementation & Constructors
- Object Methods
- Accessing Object Properties
- Interpolating Object Properties and Methods in Strings
- Static Methods
- Dual-Purpose Class & Object Methods
- Inheriting from Other Classes
Advanced Object Orientation
- Multiple Inheritance
- Method Lookup
- Autoloading Accessor Methods
- Method Lookup and
- Operator Overloading
- Connecting Methods to Operators
- Tying Variables to Modules
- Implementing Tie Modules
Managing Networks with Perl
- Network Name Services
- Querying NIS with
- DNS Queries from Perl
- Automating Zone File Generation
- Making WHOIS Queries from Perl
- An LDAP Query with Perl
- ADSI: Active Directory Service Interfaces
- Sending Mail — several ways
Network Programming with Perl
- Berkeley Sockets, domains and types
- Addresses, Port Numbers, Clients and Servers
- A Simple Client
- Higher Level Socket Modules
- TCP Servers with
- UDP Clients and Servers
- Unix Domain Sockets
- Multi Client Servers — Forking
- Multi Client Servers — Select
- Net::FTP — File Transfer Protocol
- LWP — Library for WWW in Perl
- LWP — Automatic Form Filling
Logging with Perl
- Parsing Text Logs
- Web Access Logs
- Reading Windows Event Logs
- Writing Logs
- Logging with a Database
- Logging Related Modules
Managing Users and Processes with Perl
- Unix User Information from Perl: Lookup
- Windows User Information from Perl
- User Info from
- Changing User Information
- Process Control
- Process Information Under Unix
- Windows Process Concepts
- Scheduling Events
- Filesystem Quotas
- Monitoring User Activity: Unix & Windows
- Modules for Users and Processes
- Modules for Filesystems
Using Perl for Securing Your System
- Spotting Unexpected Activity
- Detecting Attempts to Guess Passwords
- Searching for Suspicious Files
- Detecting Changes in Important File
- Making MD5 Checksums
- Using SNMP
- Existing Security Tools