Preface
- Error reporting
- Changes
- v0.06 2018-05-05
- v0.05 2018-04-04
- v0.04 2018-03-24
Overview
- Perl tutorial
Introduction
- Installing and getting started with Perl
- The Hash-bang line, or how to make a Perl scripts executable on Linux
- Perl Editor
- How to get Help for Perl?
- Perl on the command line
- Core Perl documentation and CPAN module documentation
- POD - Plain Old Documentation
- Debugging Perl scripts
Scalars
- Common Warnings and Error messages in Perl
- Prompt, read from STDIN, read from the keyboard in Perl
- Automatic string to number conversion or casting in Perl
- Conditional statements, using if, else, elsif in Perl
- Boolean values in Perl
- Numerical operators
- String operators: concatenation (.), repetition (x)
- undef, the initial value and the defined function of Perl
- Strings in Perl: quoted, interpolated and escaped
- Here documents, or how to create multi-line strings in Perl
- Scalar variables
- Comparing scalars in Perl
- String functions: length, lc, uc, index, substr
- Number Guessing game
- while loop
- Scope of variables in Perl
- Short-circuit in boolean expressions
Files
- How to exit from a Perl script?
- Standard output, standard error and command line redirection
- Warning when something goes wrong
- What does die do?
- Writing to files with Perl
- Appending to files
- Open and read from text files
- Don’t Open Files in the old way
- Reading and writing binary files in Perl
- EOF - End of file in Perl
- tell how far have we read a file
- slurp mode - reading a file in one step
Lists and Arrays
- Perl for loop explained with examples
- Perl Arrays
- Processing command line arguments - @ARGV in Perl
- How to process command line arguments in Perl using Getopt::Long
- Advanced usage of Getopt::Long for accepting command line arguments
- Perl split - to cut up a string into pieces
- How to read a CSV file using Perl?
- join
- The year of 19100
- Scalar and List context in Perl, the size of an array
- Reading from a file in scalar and list context
- STDIN in scalar and list context
- Sorting arrays in Perl
- Sorting mixed strings
- Unique values in an array in Perl
- Manipulating Perl arrays: shift, unshift, push, pop
- Reverse Polish Calculator in Perl using a stack
- Using a queue in Perl
- Reverse an array, a string or a number
- The ternary operator in Perl
- min, max, sum in Perl using List::Util
- qw - quote word
Subroutines
- Subroutines and functions in Perl
- Passing multiple parameters to a function in Perl
- Variable number of parameters in Perl subroutines
- Understanding recursive subroutines - traversing a directory tree
Hashes
- Hashes in Perl
- Creating a hash from an array in Perl
- Perl hash in scalar and list context
- exists - check if a key exists in a hash
- How to sort a hash in Perl?
- Count the frequency of words in text using Perl
Regular Expressions
- Introduction to Regexes in Perl 5
- Regex character classes
- Regex: special character classes
- Perl 5 Regex Quantifiers
- trim - removing leading and trailing white spaces with Perl
- Perl 5 Regex Cheat sheet
Shell related functionality
- What are -e, -z, -s, -M, -A, -C, -r, -w, -x, -o, -f, -d , -l in Perl?
- Current working directory in Perl (cwd, pwd)
- Running external programs from Perl with system
- How to remove, copy or rename a file with Perl
- Reading the content of a directory
- Traversing the filesystem - using a queue
CPAN
- Download and install Perl
- Installing a Perl Module from CPAN on Windows, Linux and Mac OSX
- How to change @INC to find Perl modules in non-standard locations
- How to add a relative directory to @INC
Examples for using Perl
- How to replace a string in a file with Perl
- How to read an Excel file in Perl
- How to create an Excel file with Perl?
- Sending HTML e-mail using Email::Stuffer
- Perl/CGI script with Apache2
- JSON in Perl
- Simple Database access using Perl DBI and SQL
- Reading from LDAP in Perl using Net::LDAP
Common warnings and error messages
- Global symbol requires explicit package name
- Variable declaration in Perl
- Use of uninitialized value
- Barewords in Perl
- Name “main::x” used only once: possible typo at …
- Unknown warnings category
- Can’t use string (…) as an HASH ref while “strict refs” in use at …
- Symbolic references in Perl
- Can’t locate … in @INC
- Scalar found where operator expected
- “my” variable masks earlier declaration in same scope
- Can’t call method … on unblessed reference
- Argument … isn’t numeric in numeric …
- Can’t locate object method “…” via package “1” (perhaps you forgot to load “1”?)
- AUTOLOAD - handling Undefined subroutines
- Useless use of hash element in void context
- Useless use of private variable in void context
- readline() on closed filehandle in Perl
- Possible precedence issue with control flow operator
- Scalar value … better written as …
- substr outside of string at …
- Have exceeded the maximum number of attempts (1000) to open temp file/dir
Extra articles
- Multi dimensional arrays in Perl
- Multi dimensional hashes in Perl
- Minimal requirement to build a sane CPAN package
- Statement modifiers: reversed if statements
- What is autovivification?
From other books
- Splice to slice and dice arrays in Perl
- How to improve my Perl program?