The reports of Perl’s death have been greatly exaggerated
Tags: perl, cpan, webdev
Published: 2021-10-19 14:20:43

---
title: The reports of Perl’s death have been greatly exaggerated
published: true
date: 2021-10-19 14:00:00 UTC
tags: Perl,CPAN,webdev
canonical_url: https://phoenixtrap.com/2021/10/19/the-reports-of-perls-death-have-been-greatly-exaggerated/
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i2mls7puseyi2f4lcca0.jpeg
---

Look, I get it. You don’t like the Perl programming language or have otherwise disregarded it as “dead.” (Or perhaps you haven’t, in which case please check out my [other blog posts](https://phoenixtrap.com/tag/perl/)!) It has [weird noisy syntax](https://phoenixtrap.com/2021/07/20/the-four-noisy-horsemen-of-perl-hate/), mixing [regular expressions](https://phoenixtrap.com/2021/07/20/the-four-noisy-horsemen-of-perl-hate/#regexps), [sigils](https://phoenixtrap.com/2021/07/20/the-four-noisy-horsemen-of-perl-hate/#sigils) on variable names, various braces and brackets for [data structures](https://phoenixtrap.com/2021/07/20/the-four-noisy-horsemen-of-perl-hate/#datastructures), and a menagerie of cryptic [special variables](https://phoenixtrap.com/2021/07/20/the-four-noisy-horsemen-of-perl-hate/#vars). It’s old: [34 years in December](https://perldoc.perl.org/perlhist#THE-RECORDS), with a history of (sometimes amateur) developers that have used and abused that syntax to ship code of questionable quality. Maybe you grudgingly accept its utility but think it should [die gracefully](https://phoenixtrap.com/2021/06/01/should-perl-die-gracefully/), maintained only to run legacy applications.

But you know what? Perl’s still going. It’s had a [steady cadence of yearly releases](https://phoenixtrap.com/2021/05/25/perl-can-do-that-now/) for the past decade, introducing new [features](https://perldoc.perl.org/feature) and [fencing in bad behavior](https://phoenixtrap.com/2021/09/21/everyones-a-perl-critic/) while maintaining an [admirable level of backward compatibility](https://perldoc.perl.org/perlpolicy#BACKWARD-COMPATIBILITY-AND-DEPRECATION). Yes, there was a too-long adventure developing what started as Perl 6, but that language now has [its own identity as Raku](https://raku.org/) and even has facilities for [mixing Perl with its native code](https://phoenixtrap.com/2021/08/17/perl-raku-best-frenemies/) or vice versa.

And then there’s [CPAN](https://www.cpan.org/), the Comprehensive Perl Archive Network: a [continually-updated](https://metacpan.org/recent) collection of over 200,000 open-source modules written by over 14,000 authors, the [best of which](https://metacpan.org/pod/Task::Kensho) are [well-tested](https://qa.perl.org/cpan-testers/) and ‑documented (applying [peer pressure](https://cpants.cpanauthors.org/) to those that fall short), presented through a [search engine and front-end](https://metacpan.org/) built by [scores of contributors](https://metacpan.org/about/contributors). Through CPAN you can find distributions for things like:

- web frameworks (e.g., [Catalyst](http://www.catalystframework.org/), [Dancer](https://www.perldancer.org/), [Mojolicious](https://mojolicious.org/))
- object-relational mappers (e.g., [DBIx::Class](https://metacpan.org/pod/DBIx::Class), [Rose::DB::Object](https://metacpan.org/pod/Rose::DB::Object))
- advanced object systems (e.g., [Moose](https://metacpan.org/pod/Moose), [Moo](https://metacpan.org/pod/Moo))
- asynchronous libraries (e.g., [IO::Async](https://metacpan.org/pod/IO::Async) and the aforementioned Mojolicious’ [Mojo::IOLoop](https://docs.mojolicious.org/Mojo/IOLoop))

All of this is available through a mature installation toolchain that doesn’t break from month to month.

Finally and most importantly, there’s the global Perl community. The COVID-19 pandemic has put a damper on the hundreds of global [Perl Mongers](https://www.pm.org/) groups’ meetups, but that hasn’t stopped the yearly [Perl and Raku Conference](https://perlconference.us/) from meeting virtually. (In the past there have also been yearly [European](http://www.yapceurope.org/events/conferences.html) and [Asian](http://yapcasia.org/) conferences, occasional forays into South America and [Russia](https://yapcrussia.org/), as well as hackathons and workshops worldwide.) There are [IRC](http://www.irchelp.org/) [servers](http://www.irc.perl.org/) and [channels](https://web.libera.chat/#perl) for chat, [mailing lists](https://lists.perl.org/) galore, [blogs](https://perl.theplanetarium.org/) (yes, apart from this one), and a quirky [social network](https://www.perlmonks.com/) that predates Facebook and Twitter.

So no, Perl isn’t dead or even dying, but if you don’t like it and favor something newer, that’s OK! Technologies can coexist on their own merits and advocates of one don’t have to beat down their contemporaries to be successful. Perl happens to be battle-tested (to borrow a term from my friend [Curtis “Ovid” Poe](https://ovid.github.io/)), it runs large parts of the Web (speaking from direct and ongoing experience in the hosting business here), and it’s still evolving to meet the needs of its users.

* * *

_Cover image by [Alan Levine](https://cogdogblog.com/), licensed [CC BY 2.0](https://creativecommons.org/licenses/by/2.0/)_