Five tracks · 1987 → open
The programmable web, annotated and sourced.
Every event says what it changed and what survives today. Where we have not confirmed a date or attribution against a primary source, the card says so rather than laundering a guess into a fact.
Timeline of events
The chronology runs top to bottom. As you scroll, the rail fills and the marker beside each event turns solid once you have passed it. Filtering by track or decade rewrites the trace in place, and the filtered view is linkable. Nothing here depends on scrolling: with scripting blocked every event is still in the page, in order, with its full annotation.
1980s · Perl 1.0 is posted to Usenet
17 of 17 events
- 1980s One language for text, reports and glue
-
LanguageVerified
Perl 1.0 is posted to Usenet
Larry Wall releases Perl 1.0 as a tool sitting between shell scripting and C — report generation, text extraction, and gluing systems together.
- Why it mattered
- It gave sysadmins a single language for the work that previously needed awk, sed, sh and a C program stitched together.
- What remains today
- The design bias is still visible: regular expressions as a first-class construct, and a bias toward getting the job done over ceremony.
- 1990s The web arrives and Perl is already installed
-
CommunityUnverified
Programming Perl, first edition
The first substantial book on the language ships, alongside Perl 4.
- Why it mattered
- Documentation, not the interpreter, is what let Perl spread into organisations that had never heard of Usenet.
- What remains today
- The habit of shipping prose with the code — perldoc is still part of the distribution, not an afterthought.
-
WebUnverified
CGI takes shape around NCSA httpd
The Common Gateway Interface convention establishes how a web server hands a request to an external program and reads a response back from standard output.
- Why it mattered
- It made the web writable. Any language that could read environment variables and print to stdout could now serve a dynamic page — and Perl was already on every Unix box.
- What remains today
- The request/response contract survived the transport. PSGI, WSGI, Rack and Servlet are all recognisably the same idea with a better calling convention.
-
LanguageVerified
Perl 5.000
References, modules, packages and a rewritten interpreter core arrive in one release.
- Why it mattered
- Modules made shared code possible, which is the precondition for everything CPAN became a year later.
- What remains today
- Every
usestatement you write today rests on the package and module system introduced here.
-
EcosystemVerified
CPAN goes live
Jarkko Hietaniemi brings the Comprehensive Perl Archive Network online as a mirrored, indexed archive of modules and distributions.
- Why it mattered
- It is the first widely used language package archive of its kind, and the template most later ecosystems copied.
- What remains today
- The mirror network, the author-namespaced distribution model, and the expectation that a language ships with a way to get other people’s code.
-
WebUnverified
mod_perl embeds the interpreter in Apache
Doug MacEachern’s module puts a persistent Perl interpreter inside the web server process.
- Why it mattered
- It removed the per-request process fork that made CGI slow, and gave Perl access to the server’s own request lifecycle.
- What remains today
- The persistent-process model. Every modern application server — PSGI, WSGI, Rack — assumes the interpreter stays warm between requests.
-
WebVerified
Perl 5.004 ships CGI.pm in core
Lincoln Stein’s CGI.pm becomes part of the standard distribution: parameter parsing, header generation and HTML helpers in one module.
- Why it mattered
- Handwritten form parsers were the single largest source of web security bugs in that era. A shared implementation in core removed a class of them.
- What remains today
- The interface convention. It also became the reference case for why a batteries-included module can outlive its own good idea — see 2015.
- 2000s Persistence, packaging, and a successor announced too early
-
CommunityVerified
Perl 6 is announced
A redesign of the language is announced at the Perl Conference, driven by community RFCs.
- Why it mattered
- It set two decades of expectations — and, for a long stretch, drained attention from the language people were actually shipping.
- What remains today
- A hard lesson about naming a successor before it exists. Resolved in 2019 by renaming it Raku and separating the two languages.
-
LanguageVerified
Perl 5.10, on Perl’s twentieth birthday
Named captures, defined-or,
say, state variables and a faster regex engine ship exactly twenty years after Perl 1.0.- Why it mattered
- It ended the assumption that Perl 5 had stopped moving while Perl 6 was designed.
- What remains today
//,sayand named captures are ordinary idioms now. So is the annual release cadence that followed.
-
WebDate unverified
PSGI and Plack
Tatsuhiko Miyagawa specifies PSGI — a request hashref in, a three-element response arrayref out — and ships Plack as the reference toolkit.
- Why it mattered
- It decoupled Perl web applications from the server that runs them, which is the change CGI.pm-era code never made.
- What remains today
- Every current Perl web framework speaks PSGI. It is the single most important interface in modern Perl web work.
- 2010s The interface wins, the batteries leave core
-
WebUnverified
Mojolicious 1.0
A real-time web framework with no non-core dependencies, a built-in test framework, and a single-file
Mojolicious::Litemode.- Why it mattered
- It made the smallest useful Perl web application a legible twelve-line file again — the thing CGI got right — without the CGI execution model.
- What remains today
Mojolicious::Liteis still the shortest honest path from an idea to a running HTTP service in Perl.
-
LanguageVerified
Perl 5.22 removes CGI.pm from core
After deprecation in 5.20, CGI.pm leaves the standard distribution. It remains installable from CPAN.
- Why it mattered
- Core is a maintenance promise, not a museum. Removing a module that had outlived its execution model was the honest call.
- What remains today
- A great deal of running code that still
use CGI;— which is exactly why Script Rescue exists on this site.
-
LanguageVerified
Perl 6 “Christmas” release
The first official language release, fifteen years after the announcement.
- Why it mattered
- It converted an open-ended redesign into a finished, versioned language — and made the naming problem impossible to defer.
- What remains today
- The language, now called Raku. And the clarity that it is a sibling, not a successor.
-
CommunityVerified
Perl 6 is renamed Raku
The community accepts a rename, ending nineteen years of a shared name for two different languages.
- Why it mattered
- It let both projects be described accurately for the first time since 2000.
- What remains today
- Perl means Perl again. When this site says Perl, it means the language that shipped 5.x.
- 2020s Answers from inside the language
-
LanguageVerified
Perl 5.38 ships an experimental core
classA native object system enters the language as an experimental feature, alongside the long-established CPAN options.
- Why it mattered
- It is the first serious attempt to answer “which OO system should I use?” from inside the language rather than from CPAN.
- What remains today
- Still experimental. Treat it as a signal about direction, not as a stable target for production code yet.
-
LanguageVerified
Perl 5.44.0 becomes the current stable release
The first production release of the 5.44 series is the stable version recommended by perl.org for new installations.
- Why it mattered
- It establishes the current production baseline while the odd-numbered development branch continues separately.
- What remains today
- perl.org currently recommends 5.44.0; point releases may supersede it and this item must be rechecked.
-
NowPerlCodersOpen node
PerlCoders relaunches as an independent publication
New ownership, new editorial scope: practical Perl, honest language comparisons, web-automation tooling, and a properly sourced history.
- Why it mattered
- The trace does not stop. This node stays open.
- What remains today
- Everything after this is unwritten. Corrections and submissions are how it gets written.
The trace continues ↓ — corrections and submissions are how it gets written.
Historical artifacts appear only with rights metadata.
No event on this Timeline currently displays a scan, screenshot or capture. The content model has a slot for one, and that slot requires a rights holder, a rights status, a source URL and a capture date before the image renders. An artifact without that record is listed as a reference and not shown.