1. Meet Perl: The Basics
Learning Objectives - In this module, you start experiencing the importance of interpreted language and understand what Perl provides and why it is so popular. You will also learn to set up Perl environment on various operating systems and will write your first Perl script by using the basics parameters in Perl.
Topics - Perl Introduction, About Interpreted Languages, Advantages of using Perl scripting, Starting Perl by writing the first script, Post-mortem of the Perl script, Running a Perl Script on LINUX/Windows. Define variables: scalars, array and associative arrays (hash), variables built-in functions, String Formatting, Perl context.
2. Move it Around: Control Flow Statements and Subroutines
Learning Objectives - In this module, you will learn to use the control statements in Perl, using loops in the scripts, define & call the important entity in Perl called as Subroutine (aka user defined functions).
Topics - Introduction of statements: if-elsif-else statement, unless-else statement, control statement operator, Introduction of loops: for, foreach, while, do-while, loops, control your loops with next, last and redo. Default variable, command line arguments and introduction of subroutine, subroutine prototype and its importance.
3. The Outside Link: File Handling and Directory Handling
Learning Objectives - In this module, you will understand about the interactions with the files and directories/folder in Perl, use Perl file handling and directory handling library functions to process the content.
Topics - Basic input and output operations, Work with files: open, read and write to the files. Test files, Introduction of important library functions in Perl. Execute the operating system specific commands from Perl, Accessing directories, read and write to the directories. Split, Join function, Exceptions handling with eval block.
4. Match Everything: Regular Expressions
Learning Objectives - In this module, we understand the use of regular expression to process the data, substitute the data and translate the data.
Topics - Uses of Regular Expression, Matching, Substitutions, Translations, Regular Expressions Wildcards, Modifiers and Quantifiers, Meta characters and Meta symbols, Greedy and Non Greedy Regular Expressions, Grouping and Capturing, Map, grep functions.
5. Namespace: Package Introduction
Learning Objectives - In this module, you will learn to define the package and use them in other scripts. You also learn the scoping of the variables.
Topics - BEGIN and END blocks, Create Package, Review of Packages, Package Variables, Symbol table, @INC, %INC Variables, Use, require and do pragma for package importing, Block references and lexical scoping.
6. A Pointer: Meet References
Learning Objectives - This module will help you to work with data structures in Perl. Define multidimensional data structure and use them while processing data. Trap signals, Environment variables, Quoting operator and HERE document is in the scope of this module.
Topics - Introduction to Perl references, Anonymous array and anonymous hash, Multidimensional array and Multidimensional hashes, Symbolic References, Multiple Data Structure: Array of Array, Array of Hash, Hash of Hash and Hash of array. Working with Environment Variable, Trap signals in Perl (UNIX Specific), Quoting operators, HERE document.
7. Reusability: Object Oriented Perl
Learning Objectives - In this module, you will learn in detail about the concept of Object Oriented Perl.
Topics - Create class and define class objects, Constructor, Bless function, Encapsulation, Inheritance and Polymorphism in Perl. Exporter module, overridden, Universal class, Sub-packages.
8. A Central Repository: CPAN
Learning Objectives - This module will cover installation of CPAN modules and discuss two important interaction modules DBI and Spreadsheet.
Topics - Introduction to CPAN, Install the package on Windows and Linux Operating system. Discuss the 20 most popular packages/modules in Perl. Learn in detail about the Database interface DBI and spreadsheet interface in Perl.
9. Modern Perl: Moose, Multithread and Multiprocessing with Forkmanager
Learning Objectives - This module will cover introduction of Moose, Multithreading and Multiprocessing with Perl.
Topics - Constructor with Moose, constructor parameters, Attributes and accessors, BUILDARGS and BUILD. Threads and parallel fork Manager.
10. Project: Web Scraping in Perl
Learning Objectives - In this module, we will discuss about the powerful web scraping using Perl and a real world project.
Topics - Web Scraping, Introduction to LWP Package, Method to Scrape Webpages. A real world project showing data scrapping from Google finance and from any other websites.