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.