Advanced Perl Programming

Course

Online

Price on request

Description

  • Type

    Course

  • Methodology

    Online

A course in Advanced Perl programming for those with a basic knowledge of the language and a desire to extend their skills. Delegates should have been using Perl for at least several months.

Questions & Answers

Add your question

Our advisors and other users will be able to reply to you

Who would you like to address this question to?

Fill in your details to get a reply

We will only publish your name and question

Reviews

Subjects

  • Perl
  • IT
  • Programming

Course programme

Advanced Regular Expressions

  • Summary of Using Regular Expressions
  • Reminder of Regular Expression Syntax
  • Different Quote Symbols Revision
  • Quoting Lists Revision q, qq, s///, and m//
  • Writing Regexps More Clearly
  • Further Regexp Syntax
  • Word Boundaries
  • Grouping
  • Line Boundaries
  • Zero-Width Lookahead Assertions
  • Lookbehind Assertions
  • Any Character
  • Alternation
  • Grouping and Backreferences
  • Capturing
  • Optional Parts of Patterns
  • Matching an Exact Number
  • Non-Greedy Quantifiers
  • Finding Multiple Matches
  • Dynamically Making Replacement Text

Advanced Miscellany

  • Advanced Miscellaneous Things 0 but true
  • Trapping Run-Time Errors
  • Executing Code Fragments in Strings
  • Secret Subroutines
  • Static Variables
  • Interpolating Expression Evaluation into Strings
  • Pre-Sizing Array and Hash Variables
  • Named Arguments to a Subroutine
  • Named Arguments Example
  • Coercing Subroutine Arguments
  • Disadvantages of Prototypes
  • Determining Argument Types
  • Determining Return Types
  • Slices of Array and Hashes deleteing Array & Hash Elements
  • Benchmarking Portions of Code
  • Magic Constants

Dates and Times

  • Dates and Times in Perl
  • Time Keeping Concepts
  • Built-in Time Functions
  • POSIX Functions
  • The Time Zone
  • The DateTime Modules
  • Creation of DateTime Objects
  • Obtaining Dates
  • Comparing Dates
  • Adding Intervals to Dates
  • Execution Time

Handling XML Data in Perl

  • Xml as a Data Storage and Transfer Format Xml::Simple
  • Reading an Xml File Back in Xml::Simple Options
  • KeyAttr Example
  • KeyAttr Result XML::DOM
  • Reading in a CSV File

Using Perl Modules from CPAN

  • Perl Modules
  • Using Modules
  • Standard Modules
  • CPAN Modules
  • Why Effective Perl Programmers are Efficient CPAN Users
  • Finding Modules on CPAN
  • Installing Modules
  • The cpan Command
  • Finding Installed Modules
  • Writing Perl Modules
  • Perl Module Boilerplate
  • Perl Module Boilerplate Explained
  • Defining Functions in Modules
  • Exporting Functions
  • Exporting Functions - II
  • Module Variables
  • The Exporter
  • Module Initialization
  • Versions POD Plain Old Documentation File::Copy File::Find Text::Wrap

Creating Classes and Objects

  • Object-Oriented Perl
  • Example Class Use
  • Example Class Use: Explanation
  • Example Class Implementation
  • Class Implementation: Explanation
  • Class Constructor Explanation
  • Constructors
  • What Defines a Constructor?
  • Object Methods
  • Implementing Object Methods
  • Accessing Object Properties
  • Interpolating Object Properties and Methods in Strings
  • Class Names and File names
  • Destructors
  • Static Methods
  • Dual-Purpose Class & Object Methods
  • Inheriting from Other Classes
  • Inheriting from Other Classes II
  • Inheritance Details
  • Singleton Objects
  • Example Class: CGI::Page CGI::Page Implementation
  • Using CGI::Page CGI::Page Class Definition CGI::Page emit Method CGI::Page cgi Method CGI::Page Summary

Advanced Object Orientation

  • Multiple Inheritance
  • Method Lookup
  • The UNIVERSAL Base Class
  • Autoloading Methods
  • Accessor Methods
  • Autoloading Accessor Methods AUTOLOAD Caveats
  • Method Lookup and AUTOLOAD AUTOLOAD for Fast Startup
  • Automatic Loading of Modules
  • Operator Overloading
  • Which Operators to Overload
  • Example: MyTime
  • Cloning of Objects
  • Connecting Methods to Operators
  • Comparison Operator
  • Tying Variables to Modules
  • Making a tie-Compatible Module
  • Tieing Hashes to Files
  • Example: Caseless Hash
  • Implementing Tie Modules

Managing Networks with Perl

  • Network Name Services
  • Network Name Services: the hosts File
  • Parsing the hosts File
  • NIS
  • Querying NIS with Net::NIS
  • Iterating Over NIS Maps with Net::NIS
  • Caveats for Net::NIS
  • DNS
  • DNS Zone Files
  • Automating Zone File Generation
  • Using Perl to Generate Zone Files
  • DNS Queries from Perl
  • DNS Server Consistency Checking
  • Deciding How to Make DNS Queries
  • Using nslookup to Make DNS Queries
  • Using Net::DNS to Make DNS Queries
  • Directory Services
  • WHOIS
  • Making WHOIS Queries from Perl
  • LDAP: Lightweight Directory Access Protocol
  • An LDAP Query with Perl
  • ADSI: Active Directory Service Interfaces
  • ADSI from Perl with Win32::OLE
  • Internet Mail
  • Sending Mail
  • Sending Mail: sendmail on Unix
  • Sending Mail: MAPI on Windows
  • Sending Mail: Choosing a Perl Module
  • Sending Mail: Using Mail::Mailer
  • Related Modules

Network Programming with Perl

  • Objectives
  • Berkeley Sockets
  • Socket Domains and Types
  • Addresses and Port Numbers
  • Servers and Clients
  • A Simple Client
  • A Simple Client Explained
  • Higher Level Socket Modules
  • TCP Servers with IO::Socket
  • TCP Server Explained
  • UDP Clients and Servers
  • Receive UDP Message
  • UDP Explained
  • Unix Domain Sockets
  • Multi Client Servers - Forking
  • Multi Client Servers - Forking Example
  • Multi Client Servers - Select
  • Multi Client Servers - Select Example Net::FTP — File Transfer Protocol
  • LWP - Library for WWW in Perl
  • LWP - Automatic Form Filling

Logging with Perl

  • Logging with Perl
  • Uses of Logs
  • Analyzing Logs
  • Parsing Text Logs
  • Web Access Logs
  • Extended Common Log Format
  • Reading utmp Files
  • Example of Using User::Utmp
  • Reading Windows Event Logs
  • Writing Logs
  • Example Logging Function
  • Using Unix syslog
  • Using Sys::Syslog
  • Rotating Log Files
  • Logging with a Database
  • Logging Related Modules

Managing Users and Processes with Perl

  • User Identity Concepts
  • User Information Under Unix
  • Unix User Information from Perl: Lookup
  • Unix User Information from Perl: Iteration
  • Unix Group Information from Perl
  • Unix User Information: Another Way
  • User Information Under Windows
  • User Groups Under Windows
  • Windows User Information from Perl
  • User Info from Win32::AdminMisc
  • Changing User Information
  • Process Control
  • Unix Process Concepts
  • Process Information Under Unix
  • Using Proc::ProcessTable
  • Windows Process Concepts
  • Process Handles
  • Scheduling Events
  • Filesystem Quotas
  • Monitoring User Activity: Unix
  • Monitoring User Activity: 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
  • Example of Finding Suspicious Files
  • Detecting Changes in Important Files
  • Making MD5 Checksums
  • Example of Checking Files
  • Using SNMP
  • General Advice
  • Existing Security Tools
  • Security Related

References

  • Interesting Web Links

Advanced Perl Programming

Price on request