What Killed Perl?
Early Strengths and Domains
- Widely used in the 1990s/early 2000s for CGI web apps, sysadmin glue, log processing, text munging.
- CPAN and its culture (testing, docs, packaging) were seen as revolutionary and a major driver of adoption.
- Many large sites and companies ran substantial Perl stacks; it was often preferred over shell/awk for anything non‑trivial.
Competing Languages and Ecosystem Shifts
- Many commenters say “Python killed Perl”, with PHP, Ruby, and later JavaScript/Node also important:
- PHP + mod_php made shared hosting web apps trivial compared to Perl CGI or mod_perl.
- Python provided a clearer, batteries‑included language with simpler C‑extension tooling (Cython vs XS).
- Ruby/Rails and later Node.js grabbed the web mindshare that Perl CGI/mod_perl once had.
- Over time, people found more modern compiled languages (Go, Rust, etc.) attractive for server‑side work.
Perl 6 / Raku and Governance
- Strong view that the long, drifting Perl 6 effort:
- Drained talent and attention away from Perl 5.
- Froze serious evolution of Perl 5 (“wait for 6”), giving other languages time to catch up and surpass.
- Confused managers about whether to invest in Perl 5 codebases.
- Some argue Perl was already losing ground before Perl 6; others call Perl 6’s backward incompatibility and decade‑plus delay “the fatal blow”.
Syntax, Semantics, and Readability
- Many cite sigils ($@%), context sensitivity (scalar vs list,
wantarray), autovivification, and argument handling as confusing and error‑prone. - Recurrent complaint: Perl is “write‑only”; even its own authors struggled to understand scripts months later, especially non‑experts and occasional users.
- TIMTOWTDI and multiple OO systems (blessed hashes, Moose, etc.) created inconsistency; Python’s “one obvious way” was easier for teams and teaching.
Web Hosting, Tooling, and CPAN
- Shared hosts typically offered only CGI for Perl, but integrated mod_php for PHP; mod_perl was powerful yet hard to deploy and insecure for multi‑tenant hosting.
- CPAN was a huge asset but also a liability: many overlapping, incompatible object systems, type systems, and error frameworks inside one project.
Community, Hiring, and Education
- Reports of elitist “RTFM” culture, code‑golf aesthetics, and lack of welcoming support deterred newcomers.
- Universities increasingly taught Python/Java; new grads rarely knew Perl, making hiring and long‑term maintenance unattractive.
Current Role and Attitudes
- Some still rely on Perl (or Raku) for robust, long‑lived sysadmin scripts and text processing, praising its stability and regex ergonomics.
- Others see it as a legacy or niche tool—akin to COBOL or TCL—useful in its domains but largely displaced for new projects.