What Happened to Perl 7? (2022)
State of Perl and the Perl 7 Plan
- Perl 7 was announced as a way to modernize defaults and marketing, but effectively stalled amid internal disagreements and leadership turnover.
- Many see Perl as now focused on maintaining what exists rather than introducing big language changes.
- Some argue Perl 5 has gained significant features over time (signatures, experimental class system, improved exception handling), but that these are poorly marketed and often gated behind
use v...or “experimental” flags.
Stability vs. Evolution
- Strong praise for Perl’s backward compatibility: code from the early 2000s often still runs unchanged on current interpreters.
- This stability is seen as a major advantage over Python and some newer ecosystems, where version churn and dependency breakage are common complaints.
- Critics argue this compatibility stance has constrained meaningful evolution and left obvious “low-hanging fruit” (native OO, better exceptions, modern syntax) underdeveloped or delegated to CPAN.
Language Design, Modules, and Tooling
- Several commenters highlight long-standing design warts: smartmatch, implicit arrayref args, shifting sigils, list/scalar context, auto-flattening.
- CPAN is praised for breadth, but the module/build system is criticized as fragmented, overly powerful, and hard to automate/package.
- Frustration that many core needs (OO, switch, try/catch, exporters) arrive as third‑party modules rather than first‑class language features.
Perl vs. Other Languages
- For scripting and text processing, many still find Perl unmatched in expressiveness and regex power; it’s preferred over shell/awk for anything non-trivial.
- Others now default to Python, Ruby, Go, or JS/TS, citing better readability, typing, deployment (single binaries), and job-market relevance.
- Some see modern PHP (Laravel/Symfony) as a reasonable, evolving alternative; Perl is viewed more as a “legacy but solid” choice.
Use Cases and Adoption Today
- New greenfield applications in Perl are rare; most encounters are in legacy systems.
- Acceptable reasons to start new Perl projects: team expertise, desire for long-term stability, system administration and scripting, or simply enjoyment.
- Skeptics say choosing Perl now hampers hiring and collaboration and that learning Ruby or Python offers more future value.
Community and Governance
- The Perl 7 effort was affected by internal conflict and burnout, prompting new codes of conduct.
- Overall mood: respect for Perl’s past and stability, mixed with disappointment and resignation about its future trajectory.