Chapter 1: Introduction to Perl
- Lesson 1: What is Perl?
- Lesson 2: History of Perl and Its Evolution
- Lesson 3: Use Cases of Perl (Scripting, System Administration, Web Development, Bioinformatics)
- Lesson 4: Setting Up the Perl Environment
- Lesson 5: Writing and Running Your First Perl Script
- Lesson 6: Perl Syntax and Structure
- Lesson 7: Using Perl in Different Platforms
Chapter 2: Variables and Data Types
- Lesson 1: Scalar Variables
- Lesson 2: Arrays and List Variables
- Lesson 3: Hashes (Associative Arrays)
- Lesson 4: Contexts in Perl: Scalar vs. List Context
- Lesson 5: Special Variables in Perl
- Lesson 6: Working with Undefined Values
- Lesson 7: Type Conversions and Auto-typing
Chapter 3: Operators in Perl
- Lesson 1: Arithmetic Operators
- Lesson 2: Comparison Operators
- Lesson 3: Logical Operators
- Lesson 4: Bitwise Operators
- Lesson 5: String Operators
- Lesson 6: Assignment Operators
- Lesson 7: Increment and Decrement Operators
- Lesson 8: Ternary Operator
Chapter 4: Control Structures
- Lesson 1: Conditional Statements: if, elsif, else
- Lesson 2: Switch-like Statements with given and when
- Lesson 3: Loops: for, while, until, do-while
- Lesson 4: The Foreach Loop
- Lesson 5: Loop Control Statements: last, next, redo
- Lesson 6: Using Labels in Loops
- Lesson 7: Pattern Matching in Conditionals
Chapter 5: Functions and Subroutines
- Lesson 1: Defining and Calling Functions
- Lesson 2: Passing Arguments and Return Values
- Lesson 3: Using Default Parameters
- Lesson 4: Variable Scope: Local vs. Global Variables
- Lesson 5: Recursion in Perl
- Lesson 6: Function References
- Lesson 7: Anonymous Functions and Closures
Chapter 6: References and Complex Data Structures
- Lesson 1: Introduction to References
- Lesson 2: References to Scalars, Arrays, and Hashes
- Lesson 3: Dereferencing in Perl
- Lesson 4: Multi-dimensional Arrays and Hashes
- Lesson 5: Using References in Subroutines
- Lesson 6: Anonymous Arrays and Hashes
- Lesson 7: Weak References and Circular References
Chapter 7: Working with Strings
- Lesson 1: String Manipulation Functions
- Lesson 2: Regular Expressions in Perl
- Lesson 3: Substitutions and Pattern Matching
- Lesson 4: Using split and join
- Lesson 5: Multiline and Case-Insensitive Matching
- Lesson 6: Working with Unicode and Encodings
Chapter 8: File Handling and I/O Operations
- Lesson 1: Reading from and Writing to Files
- Lesson 2: File Handles and File Modes
- Lesson 3: Working with Directories
- Lesson 4: Handling File Errors
- Lesson 5: Using open, close, read, and write
- Lesson 6: Working with Standard Input and Output
- Lesson 7: Reading from and Writing to Binary Files
Chapter 9: Object-Oriented Programming in Perl
- Lesson 1: Introduction to OOP in Perl
- Lesson 2: Creating and Using Classes
- Lesson 3: Constructors and Destructors
- Lesson 4: Inheritance and Polymorphism
- Lesson 5: Method Overriding
- Lesson 6: Using bless and Object References
- Lesson 7: Inside-Out Objects and Moose Framework
Chapter 10: Exception Handling
- Lesson 1: Using eval for Error Handling
- Lesson 2: The die and warn Functions
- Lesson 3: Using croak and confess for Debugging
- Lesson 4: Custom Exception Handling Mechanisms
Chapter 11: Working with Modules and Packages
- Lesson 1: What are Perl Modules?
- Lesson 2: Importing and Using Modules
- Lesson 3: Creating Your Own Perl Modules
- Lesson 4: Working with CPAN and CPAN Modules
- Lesson 5: Packaging and Distributing Perl Modules
Chapter 1: Modern Perl Features
- Lesson 1: Overview of Modern Perl Features (v5.10 - Latest Version)
- Lesson 2: Say Function and Smart Matching
- Lesson 3: Defined-or Operator (//)
- Lesson 4: Lexical Subroutines
- Lesson 5: Postfix Dereferencing and References Enhancements
- Lesson 6: Try-Catch Blocks for Exception Handling
Chapter 2: Perl and Databases
- Lesson 1: Introduction to DBI (Database Interface)
- Lesson 2: Connecting to Databases
- Lesson 3: Executing Queries and Fetching Data
- Lesson 4: Handling Transactions
- Lesson 5: Using Placeholders for Security
- Lesson 6: Working with NoSQL Databases in Perl
Chapter 3: Networking and Web Development
- Lesson 1: Basics of Network Programming in Perl
- Lesson 2: Sockets and Client-Server Communication
- Lesson 3: Parsing and Making HTTP Requests
- Lesson 4: CGI Programming in Perl
- Lesson 5: Introduction to Perl Frameworks (Mojolicious, Dancer, Catalyst)
Chapter 4: Preprocessor Directives in Perl
- Lesson 1: Using use, require, and import
- Lesson 2: Conditional Compilation
- Lesson 3: The BEGIN and END Blocks
- Lesson 4: Using AUTOLOAD for Dynamic Methods
Chapter 5: Signal Handling
- Lesson 1: What are Signals?
- Lesson 2: Capturing Signals using %SIG
- Lesson 3: Handling Termination and Interrupt Signals
- Lesson 4: Custom Signal Handlers
Chapter 6: Multithreading and Parallel Processing
- Lesson 1: Introduction to Multithreading
- Lesson 2: Using the threads Module
- Lesson 3: Thread Synchronization
- Lesson 4: Parallel Execution with Forking
- Lesson 5: Thread Safety and Shared Data
Chapter 7: Cryptography and Security
- Lesson 1: Introduction to Cryptography in Perl
- Lesson 2: Hashing and Password Security
- Lesson 3: Encryption and Decryption
- Lesson 4: Working with OpenSSL in Perl
Chapter 8: Debugging and Performance Optimization
- Lesson 1: Using the Perl Debugger
- Lesson 2: Profiling Perl Scripts
- Lesson 3: Memory Management and Optimization
- Lesson 4: Benchmarking Code Performance
Chapter 9: Creating and Deploying Perl Libraries
- Lesson 1: Designing a Perl Library
- Lesson 2: Managing Dependencies
- Lesson 3: Using Makefile.PL and Build.PL
- Lesson 4: Publishing to CPAN