Day-1
Overview of Perl
- What is Perl?
- Running Perl Programs
- Sample Program
Perl Variables
- Three Data Types
- Variable Names and Syntax
- Variable Naming
- Lists
- Scalar and List Contexts
- The Repetition & Concatenation Operators
Arrays and Hashes
- Arrays
- Array Functions
- The foreach Loop
- The @ARGV Array
- Array Slices & splicing
- Hashes,Hash Functions
Quoting and Interpolation
- String Literals
- Interpolation
- Array Substitution and Join
- Backslashes and Single Quotes
- Quotation Operators
- Command Substitution
Operators
- Perl Operators
- Operators, Functions and Precedence
- File Test Operators
- Assignment Operator Notations
- The Range Operator
Flow Control
- Simple Statements
- Simple Statement Modifiers
- Compound Statements
- The next, last, and redo Statements
- The for Loop
- The for each Loop
I/O: Input Operations and File I/O
- Overview of File I/O
- The open / close Functions & die / warning usage
- The Input Operator < > ( diamond operator )
- Default Input Operator
- The print Function
- Reading Directories
Day-2
Regular Expressions
- Pattern Matching – in detail
- The Substitution Operator
- Regular Expressions
- Special Characters
- Quantifiers (*, +, ?, {})
- Assertions (^, $, \b, \B)
- Substrings
- Substrings in List Context
File and Directory Handling
- Deleting & Renaming Files
- linking feature ( hard link & soft link )
- Creating and Removing Directories
- Modification of : permissions, ownership and Timestamp
Subroutines
- Overview of Subroutines
- Passing Arguments
- Private Variables
- Returning Values
Substrings in List Context
- Parentheses as memory
- Anchoring Patterns
- =~operator, Usage of different delimiters
- Special ReadOnly Variables
- Substitutions
- Split & Join functions
- qr operators and regex combinations [ detail ]
- Metacharacters
- Character Classes
- Capturing [ Named and Numbered ]
- Grouping and Alternation
Day-3
DBI/DBD SQL Programming
- A Better Way – DBI/DBD
- Installing DBD & DBI Drivers
- Database Programming
- Handles
- Connecting to the Database
- Creating a SQL Query
- Getting the Results
- Updating Database Data
- Error Checking in DBI
- Getting Connected
- Drivers
- Using Parameterized Statements
- Statement Handle Attributes
Packages and Modules
- Packages
- BEGIN and END Routines
- require vs. use
- Modules
- The bless Function
Formats
- Purpose, definition & invoking Format(s)
- Field Holders, page control features
Day-4
Process Management
- Usage of system & exec commands
- Usage of Backquotes
- Usage of Process & File handles
Directory Access
- Traversing the Directory Tree
- Globbing
- Directory Handles
- Opening and Closing a Directory Handle
- Reading a Directory Handle
Advanced Concepts
- Anonymous arrays
- AUTOLOAD
- Regular Expressions ( RE ..)
- grep and map commands
Day-5
CPAN
- Why CPAN ?
- Sample usage of a module
- How to write and contribute a module ?
Perl Debuging
- Basic Level debugging
- Different Debugging mechanisms
OOPS in Perl
- Packages and modules in-depth
- Oops implementation in Perl ( through functions )
- @INC – placement of modules
- @ISA, EXPORT explained
- Moose module – explained