Beginner Perl Maven video course - video

These are earlier recordings and they are a bit noisy, sorry for that.

You can watch the episodes on YouTube, or on this site. Some of the pages here have extra text.

Table of Contents

1. Introduction

  1. Welcome and installation

  2. Editors, IDEs

  3. Hello World

  4. Safety net (use strict; use warnings;)

  5. Debugging

  6. Comments

  7. Documentation of Perl

  8. POD - Plain Old Documentation

  9. Perl on the command line

  10. Exercise: Hello World

  11. Solution: Hello World (part 1)

  12. Solution: Hello World (part 2)

2. Scalars

  1. Scalar values and variables

  2. Common Errors

  3. Variable interpolation - User Input and Output - chomp

  4. Numerical Operators

  5. String Operators

  6. If statement

  7. Comparison Operators

  8. String to Number Conversion

  9. Compare Values

  10. undef

  11. Logical Operators

  12. True and False values

  13. Short circuit

  14. String functions: index

  15. Substr

  16. String in Double quotes

  17. String in Single quotes

  18. Scope of Variables

  19. rand() and int()

  20. Here documents

  21. Exercise: rectangular

  22. Solution: Area of rectangular

  23. Solution: Area prompt and warn if values are less than 0

  24. Solution: Concatenation

  25. Exercise: Number guessing game

  26. Solution: Number guessing game

3. Files

  1. die, warn, exit

  2. Open File

  3. Open File All

  4. Open File with Error Handling

  5. open or die

  6. No such file

  7. Read one line

  8. While loop

  9. Read file line by line

  10. Write to file

  11. Sum numbers in a file

  12. Debug the sum numbers script

  13. Analyze Apache log file

  14. Old Style Open

  15. Exercise: Add more statistics

  16. Solution: Add more statistics

  17. Exercise: Write report to file

  18. Solution: Write report to file

4. Lists and Arrays

  1. Lists in Perl

  2. List Assignment

  3. Foreach Loop Over List

  4. Creating and Array

  5. Array Assignment

  6. Exercise: more statistics

  7. Solution: more statistics (placeholder)

  8. Array indexes

  9. Array indexes (screencast)

  10. Looks like number

  11. Command line parameters

  12. Command line parameters (screencast)

  13. Processing command line using Getopt::Long

  14. Processing command line using Getopt::Long (screencast)

  15. Process CSV file

  16. Process CSV file - short version

  17. One-liner - Sum of values in CSV file

  18. Process CSV file - using Text::CSV_XS

  19. Join

  20. Exercise: improve the color selector

  21. Solution: improve the color selector

  22. Solution: improve the color selector - check input

  23. Solution: improve the color selector - force

  24. Solution: improve the color selector - colors.txt

  25. Solution: improve the color selector - --filename

  26. Exercise: improve the number guessing game

  27. Solution: improve the number guessing game - multiple guesses

  28. Solution: improve the number guessing game - exit

  29. Solution: improve the number guessing game - s for show

  30. Solution: improve the number guessing game - n for next game

  31. Solution: improve the number guessing game - d for debug mode

  32. Solution: improve the number guessing game - m for move mode

5. Advanced Arrays

  1. The Year of 19100

  2. Array in Context

  3. Context Sensitivity

  4. Filehandle in SCALAR and LIST context

  5. Slurp

  6. Pop and Push

  7. Loop controls: next and last

  8. shift and unshift

  9. shift

  10. reverse

  11. sort

  12. Ternary operator

  13. Count Digits

  14. Exercise: Display unique rows of a file

  15. Exercise: sort mixed string

6. Functions and Subroutines

  1. Functions and Subroutines

  2. Defining Subroutines

  3. Exercise: Number guessing in sub

7. Hashes

  1. A hash and its uses

  2. Creating a hash

  3. Creating a hash from an array

  4. Hash in scalar context

  5. Fetching data from hash

  6. Exists and Delete in hash

  7. Counting words in a file

  8. Dumping hash

  9. Exercise: parse HTTP values

  10. Solution: parse HTTP values

  11. Exercise: Improve color selector

  12. Solution: Improve color selector

  13. Exercise: Sort scores

  14. Solution: Sort scores

  15. Exercise: Improve Apache log analyzer

  16. Solution: Improve Apache log analyzer

  17. Exercise: Parse variable width fields

  18. Solution: Parse variable width fields

8. Regular Expressions - part 1

  1. Regexes

  2. Where can I use regexes

  3. Simple use of regex

  4. Finding a string in a file

  5. Single character match

  6. Match any character

  7. Character classes

  8. Negated character class

  9. Optional characters

  10. Any Number of any Characters

  11. Quantifiers

  12. Quantifiers on Character classes

  13. Exercise: Regexes 1

  14. Solution: Regexes 1

  15. Solution: Regexes 2

  16. Solution: Regexes 3

9. Regular Expressions - part 2

  1. Regex Alternatives

  2. Regex Capturing

  3. Regex Anchors

  4. More about Character classes

  5. Special character classes

  6. Exercise: Match numbers with regex

  7. Solution: Match numbers with regex

  8. Exercise: hexa, octal, binary

  9. Solution: hexa, octal, binary

  10. Exercise: Roman numbers

10. Regular Expressions - part 3

  1. m/ for matching regexes

  2. Case insensitive regexes using /i

  3. multiple lines in regexes using /m

  4. Single line regexes using /s

  5. /x modifier for verbose regexes

  6. Substitution

  7. Global substitution with regexes

  8. Greedy regex quantifiers

  9. Minimal Regex Matching

  10. trim

  11. Fixing assembly with Perl

  12. split with regex

  13. Fixing dates using Regexes

  14. Exercise split HTTP using Regexes

  15. Solution: split HTTP using Regexes

  16. Exercise: split path - filename/dirname

  17. Solution: split path - filename/dirname

  18. Exercise: sort SNMP numbers

  19. Solution: sort SNMP numbers

  20. Exercise: parse hours log file and create time report

  21. Solution: parse hours log file and create time report (placeholder)

  22. Exercise: parse INI file

  23. Solution: parse INI file (placeholder)

  24. Exercise: parse Perl file

  25. Solution parse Perl file (placeholder)

11. Shell to Perl

  1. shell -x

  2. Running external programs

  3. Unix and DOS commands

  4. file globbing

  5. rename files

  6. directory handle

  7. File::HomeDir

  8. more Unix commands

  9. File::Spec

  10. File::Find

12. CPAN

  1. Using procedural module

  2. Using object oriented module

  3. Changing @INC

  4. Changing @INC relative path

  5. What is CPAN

  6. Some interesting CPAN modules

  7. Installing modules from the OS vendor

  8. Installing Perl modules with cpan

  9. search.cpan.org

  10. CPAN Testers and CPAN Ratings

13. Applications

  1. Create Linux user account
  2. Diskspace usage: df in Perl
  3. Reporting diskspace usage on mail server
  4. disk usage: du
  5. Send email with attachments
  6. Reading Excel file
  7. read fixed-width records
  8. Processing config file

Author

Gabor Szabo (szabgab) Gabor Szabo