Perl
A text-processing and scripting language from 1987; its regular-expression syntax spread to most later languages.
27 steps across 1 tours, from the basics to complete programs.
The tours
- First released
- 1987
- Created by
- Larry Wall
- Typing
- Dynamic; sigils declare shape, context decides meaning
- Snippets target
- 5.42
- File extensions
- .pl, .pm
What it is for
Perl was the glue of the early web — CGI scripts, log pipelines, and the sysadmin one-liners that predate the word DevOps — and an enormous amount of it still runs: bioinformatics pipelines, banking batch jobs, the guts of package managers, and every regex engine that calls itself PCRE, because Perl-compatible was the standard worth naming. Nobody starts a startup on Perl in 2026; a surprising number of paychecks still clear through it.
The language is built on ideas nothing else committed to as fully: sigils that declare a variable's shape ($scalar, @array, %hash), context that changes what an expression means, and regexes as first-class syntax rather than a library. Larry Wall was a linguist, and it shows — there is more than one way to do it is the official motto, for better and for worse.
Its sharp edges are the flip side of its power: context bites newcomers, references add a layer of indirection arrays elsewhere never need, and the freedom that made one-liners legendary made some codebases unreadable. Modern Perl — strict, warnings, signatures — is a far more disciplined dialect, and it is the one worth having under your fingers.
Where it came from
Larry Wall released Perl in 1987 as a text-processing language that would be better than awk and sed for real programs, borrowing freely from C, shell, and his training in linguistics. Perl 4's Camel Book era made it the scripting language of Unix; Perl 5 (1994) added references, modules, and objects, and CPAN became the model every package ecosystem since has copied.
The web made Perl briefly the most important language in the world: through the 1990s most dynamic pages were CGI scripts, and the LAMP acronym's P meant Perl before it meant PHP. The regex syntax Perl 5 settled on became the de facto standard — PCRE, and through it the regexes in nearly every modern language, are dialects of Perl's.
Perl 6 began in 2000 as a redesign and consumed the community's attention for two decades before shipping as a different language, renamed Raku in 2019. Perl 5 kept evolving underneath — yearly releases, subroutine signatures stable in 5.36, a class system arriving experimentally — and the version numbers simply continued: there will never be another Perl 6.
What it is like to type
Perl types like an instrument with three registers: $, @, and % open almost every variable, and switching sigils mid-expression ($langs[0] to read one element of @langs) is the move your fingers must learn cold. Regexes arrive bare, slashes and captures and modifiers with no quoting ceremony, which is why the regex seeds carry the lowest three-star bars in the corpus. The reward is fluency in the punctuation half the world's config files secretly depend on.
27 steps across 1 tours, from the basics to complete programs.