WA1212 PERL Programming

1. Overview of Perl
  • What is Perl?
  • Running Perl Programs
  • Sample Program
  • Another Sample Program
  • Yet Another Example
2. Perl Variables
  • Three Data Types
  • Variable Names and Syntax
  • Variable Naming
  • Lists
  • Scalar and List Contexts
  • The Repetition Operator
3. Arrays and Hashes
  • Arrays
  • Array Functions
  • The foreach Loop
  • The @ARGV Array
  • The grep Function
  • Array Slices
  • Hashes
  • Hash Functions
  • Scalar and List Contexts Revisited
4. Quoting and Interpolation
  • String Literals
  • Interpolation
  • Array Substitution and Join
  • Backslashes and Single Quotes
  • Quotation Operators
  • Command Substitution
  • Here Documents
5. Operators
  • Perl Operators
  • Operators, Functions and Precedence
  • File Test Operators
  • Assignment Operator Notations
  • The Range Operator
6. Flow Control
  • Simple Statements
  • Simple Statement Modifiers
  • Compound Statements
  • The next, last, and redo Statements
  • The for Loop
  • The foreach Loop
7. I/O: Input Operations and File I/O
  • Overview of File I/O
  • The open Function
  • The Input Operator
  • Default Input Operator
  • The Print Function
  • Reading Directories
8. Regular Expressions
  • Pattern Matching Overview
  • The Substitution Operator
  • Regular Expressions
  • Special Characters
  • Quantifiers (*, +, ?, {})
  • Assertions (^, $, \b, \B)
9. Advanced Regular Expressions
  • Substrings
  • Substrings in List Context
  • RE Special Variables
  • RE Options
  • Multi-line REs
  • Substituting with an Expression
  • Perl RE Extensions
10. Subroutines
  • Overview of Subroutines
  • Passing Arguments
  • Private Variables
  • Returning Values
11. References
  • References
  • Creating References
  • Using References
  • Passing References as Arguments to Subroutines
  • Anonymous Composers
  • The Symbol Table
12. Complex Data Structures
  • 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...
13. Packages and Modules
  • Packages
  • BEGIN and END Routines
  • require vs. use
  • Modules
  • The bless Function
14. 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
15. Binary Data Structures
  • Variable-Length (Delimited) Fields
  • Variable vs. Fixed
  • Handling Binary Data
  • The pack Function
  • The unpack Function
  • The read Function
  • C Data Structures
16. 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
17. 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
Appendix A - The Perl Distribution
  • Where Can You Get Perl?
  • How Do You Build Perl?
  • What Gets Created and Installed?
  • Differences Between Platforms
Appendix B - The Perl Debugger
  • Overview of the Perl Debugger
  • Debugger Commands
  • Non-Debugger Commands
  • Listing Lines
  • Single Stepping
  • Setting and Clearing Breakpoints
  • Modifying the Debugger
  • The -w and -D Flags