
Explore Perl, short for practical extraction and reporting language, and its powerful, easy-to-understand design. Learn about Larry Wall's late 1980s creation, and why Perl remains important in today's technology.
Trace the history and importance of Perl, from its text processing and regex strengths to its evolution from Perl five to Raku, highlighting CPAN, system administration, web, bioinformatics, and automation.
Set up a development environment by creating a virtual machine with VirtualBox on Ubuntu, install Perl 6 (Raku) via Rakudo, and verify with a basic session.
Discover Perl basics by exploring values and types, including integers, rational numbers, and strings, and learn variables and operators, including prefix, postfix, and circumference operators to build expressions.
Learn how statements and blocks work in Perl six, with semicolons, lexical scope, and variables, then write hello world scripts and use shebangs and comments.
Explore Perl six basics, including the main subroutine and handling command line arguments. Learn about parameters, default values, prompts, booleans, if statements, and loops for building interactive programs and assignments.
Develop a Perl number guessing program that uses a max from command line or 100 by default, generating a secret random number and guiding guesses with higher or lower prompts.
Define and use subroutines to organize Perl code and return values. Enforce parameter constraints, create anonymous closures, export subs for libraries, and use slurpy parameters to collect arguments.
Explore strings as ordered sequences of characters and learn to analyze, access, split, join, and modify them with Perl’s comb built-in method and other string functions.
Explore Perl error handling with soft failures, try and catch blocks, and exception classes; see how warnings and die manage control flow and errors, including out of range scenarios.
Learn to read and write files and directories in Perl, manipulate paths with base name and parent, check existence and permissions, rename, copy, or move files, and track current directory.
Learn to list files with dir, create directories with make dir, and read and write files using slurp and spurt, plus basic file handle management.
Explore how to create and manipulate lists, including empty lists, adding and replacing elements, constructing lists with angled brackets, repeating values, and joining elements with a separator.
Master iteration with for loops over lists, explore lists and sequences, and implement a word count by reading lines, counting words and characters, and handling lazy evaluation with cache.
Illustrates accessing arrays by index, using end and star for limits, and flattening with flat or LMS. Demonstrates rotor, z, and cross operations, plus grep and map for data transformation.
Sort lists and arrays by numeric and lexical order, using folded case for case-insensitive comparisons, and modify data with shift, pop, unshift, push, splice, and reverse.
Develop two perl assignments: print words with more than seven characters from a provided file, and check if a word uses all required letters, demonstrated using the letter z.
Explore hashes in Perl, a general structure of key-value pairs declared with a percent sign. Create, print, access, check, delete, and iterate keys and values, and handle undefined keys.
Explore object oriented programming by defining classes with attributes and methods, including public and private scope, and basic inheritance in Perl 6.
Explore roles in Perl programming by using mixins to extend a class with the role keyword and the does method, enabling flexible code reuse without inheritance.
Explore junctions and sets in Perl 6, learning any, all, and none junctions, containment checks, and set operations such as union, intersection, difference, and subset relations.
Explore regular expressions (regex) and their pattern syntax to search text, validate formats such as emails or phone numbers, and perform replacements with concise, powerful pattern matching.
Learn how grammars power text parsing in Perl 6, using a top rule, parse operations, and the interplay of tokens, regexes, and rules to build reusable language structures.
Create an action class to process grammar rules, convert octal digits to decimal values via make, and define a json grammar with number and string tokens, including escaping.
Develop a JSON grammar by defining object, pair, and array rules, handling spaces, separators, and value types, then test parsing with a top rule and build an abstract syntax tree.
Explore how to extract keys and values from Perl grammars, print first name, last name, and is alive, and access address and phone numbers through actions.
Explore supplies, channels, and promises to enable asynchronous data flow in Perl, using a supplier, supply, taps, and the share keyword to emit, read, and process values.
Explore channels as first come, first served structures that ensure a value is processed exactly once. Learn to create a channel, send and receive values, and handle closing and poll.
Explore how promises schedule work on separate threads and track status (planned, kept, broken). Use then and await to handle completion and coordinate multiple promises.
Learn to control external programs in perl by running shell commands, capturing output with qx, and managing exit codes, then use proc, run, and spawn to handle stdout and airstream.
Analyze a 10,000-line access log with a perl 6 based log analyzer, extracting IP addresses, timestamps, and endpoint URLs, counting unique IPs, timestamps, and most visited URLs.
Welcome to The Complete Perl Programming Course!
Why learn Perl?
Perl is a brilliant language for text processing, and also excellent for logfile analysis, manipulating text, editing files, as well as searching and identifying field values within structured text files.
Interested in a career in systems admin, database management or automation? Perl is a great skill to have as part of your skillset!
With an average salary of $94,540 - Perl was one of the top 10 highest paying technologies in the 2023 StackOverflow Developer Survey!
Created 30+ years ago, Perl has a large and active community supporting it, which means if you ever have a problem - help isn't far away!
This 6hr course is a dive in to all things Perl! You'll learn everything you need to get started with Perl, and put it all to the test with practice exercises and challenges throughout every course section (10+ practical exercises, 3x Perl quizzes, 1x assignment and 1x big project build)
This course starts at the beginning with:
How to set up your environment
How Operators and Statements work
The Basics of Perl (Parts 1, 2 and 3)
Before moving on to more intermediate content:
Sub-routines and strings
Error Handling
Files and Directories (Parts 1 and 2)
Arrays and Lists (Parts 1, 2 and 3)
Hashes, Classes and Roles
Regex
Grammars (Parts 1, 2, 3, and 4)
Supplies, Channels and Promises
How to control external Programs
And finishing with an advanced practical project build:
Project - Create log file analyser
This course was created for students who are completely new to Perl, though we do recommend you have some prior coding experience to help you speed through the lectures.
Enjoy the course, and happy coding!