Look, I get it. You don’t like the Perl pro­gram­ming lan­guage or have oth­er­wise dis­re­gard­ed it as dead.” (Or per­haps you haven’t, in which case please check out my oth­er blog posts!) It has weird noisy syn­tax, mix­ing reg­u­lar expres­sions, sig­ils on vari­able names, var­i­ous braces and brack­ets for data struc­tures, and a menagerie of cryp­tic spe­cial vari­ables. It’s old: 34 years in December, with a his­to­ry of (some­times ama­teur) devel­op­ers that have used and abused that syn­tax to ship code of ques­tion­able qual­i­ty. Maybe you grudg­ing­ly accept its util­i­ty but think it should die grace­ful­ly, main­tained only to run lega­cy applications.

But you know what? Perl’s still going. It’s had a steady cadence of year­ly releas­es for the past decade, intro­duc­ing new fea­tures and fenc­ing in bad behav­ior while main­tain­ing an admirable lev­el of back­ward com­pat­i­bil­i­ty. Yes, there was a too-​long adven­ture devel­op­ing what start­ed as Perl 6, but that lan­guage now has its own iden­ti­ty as Raku and even has facil­i­ties for mix­ing Perl with its native code or vice versa.

And then there’s CPAN, the Comprehensive Perl Archive Network: a continually-​updated col­lec­tion of over 200,000 open-​source mod­ules writ­ten by over 14,000 authors, the best of which are well-​tested and ‑doc­u­ment­ed (apply­ing peer pres­sure to those that fall short), pre­sent­ed through a search engine and front-​end built by scores of con­trib­u­tors. Through CPAN you can find dis­tri­b­u­tions for things like:

All of this is avail­able through a mature instal­la­tion tool­chain that doesn’t break from month to month.

Finally and most impor­tant­ly, there’s the glob­al Perl com­mu­ni­ty. The COVID-​19 pan­dem­ic has put a damper on the hun­dreds of glob­al Perl Mongers groups’ mee­tups, but that hasn’t stopped the year­ly Perl and Raku Conference from meet­ing vir­tu­al­ly. (In the past there have also been year­ly European and Asian con­fer­ences, occa­sion­al for­ays into South America and Russia, as well as hackathons and work­shops world­wide.) There are IRC servers and chan­nels for chat, mail­ing lists galore, blogs (yes, apart from this one), and a quirky social net­work that pre­dates Facebook and Twitter.

So no, Perl isn’t dead or even dying, but if you don’t like it and favor some­thing new­er, that’s OK! Technologies can coex­ist on their own mer­its and advo­cates of one don’t have to beat down their con­tem­po­raries to be suc­cess­ful. Perl hap­pens to be battle-​tested (to bor­row a term from my friend Curtis Ovid” Poe), it runs large parts of the Web (speak­ing from direct and ongo­ing expe­ri­ence in the host­ing busi­ness here), and it’s still evolv­ing to meet the needs of its users.

6 thoughts on “The reports of Perl’s death have been greatly exaggerated

  1. Perl is my favorite pro­gram­ming lan­guage. I some­times look for excus­es to write Perl scripts. It revi­tal­ized my inter­est in pro­gram­ming after I grew frus­trat­ed with Python and with JavaScript. Regardless of what any­one says, I don’t think that there has ever real­ly been a bet­ter time to be a Perl hack­er. While I might check out and even exten­sive­ly use oth­er lan­guages in the future, I’m sure that I’ll always come back to Perl.

  2. I’m a data admin at a large cor­po­ra­tion where our tasks have been increas­ing­ly con­sol­i­dat­ed. Over the past few years we’ve migrat­ed from Excel spread­sheets to MS Access and final­ly to mySQL.

    This required a bit a pre­pro­cess­ing on data files before we load them to mySQL. We tried this with Powershell scripts using Powershell com­mands. A half-​Gb file took 15 min­utes to process. We have to work in Windows, so I found Strawberry Perl and installed it. A sim­ple text oper­a­tion that took Powershell much grind­ing and knash­ing of teeth was done in three seconds.

    I now write Perl one-​liners to call from Powershell, It’s not pret­ty, but it’s scream­ing fast. I’m grate­ful Perl is around.

    I pre­dict that with REGEXP con­di­tions now more wide­ly spread among major data­base imple­men­ta­tions (mySQL etc.), Perl will attract new inter­est, espe­cial­ly for those need­ing to process huge files. I’m glad to have found it.

  3. Cover image by Adam Levine, licensed CC BY 2.0” I fol­lowed the link since that’s the name of the maroon 5 singer. The web­site says the own­er is ALAN levine.

Comments are closed.

Mentions