This week in PSC (211) | 2026-01-12

Just Paul and Aristotle this week.

We mostly discussed the experimental refaliasing and declared_refs features to see if we can find a path towards declaring at least the latter non-experimental. This would be useful in its own right, as well as an enabler for PPC0034 “Ref-aliased parameters in subroutine signatures”.

[P5P posting of this summary]

Understanding TPRF's Finance, 2026 Edition

An Analysis of The Perl and Raku Foundation's 2024 Finances

In October 2024, I published an article analyzing the financial situation of The Perl and Raku Foundation (TPRF). Since then, I have left the board, and my life is now largely unrelated to Perl. I no longer have insight into TPRF's internal decision-making but I got a few suggestions to continue, so this article again analyzes TPRF's finances using publicly available data for the 2024 calendar year. There is an unavoidable delay between when nonprofit tax returns are filed and when they become public.

Executive Summary

  • Assets at end of 2023: $200,215
  • Revenue in 2024: $86,845
  • Expenses in 2024: $188,037
  • Assets at end of 2024: $101,525
Despite a strong increase in donations, TPRF spent more than twice its revenue in 2024, resulting in a $98,690 loss and a halving of its assets.

Revenue: A Positive Turn

Taking the Win - Perl in the TIOBE Index

There has been much to say about Perl improving in TIOBE during 2025 and ending in the top 10 which is roughly where things were around 2016.

Many things are working well in the Perl community and we should expect to be seeing them paying off.

For example:

Marlin Racing

When I first introduced Marlin, it seemed the only OO framework which could beat its constructor in speed was the one generated by the new Perl core class keyword. Which seems fair, as that’s implemented in C and is tightly integrated with the Perl interpreter. However, I’m pleased to say that Marlin’s constructors are now faster.

(Though also I forgot to include Mouse in previous benchmarks, so I’ve rectified that now.)

         Rate  Plain   Tiny    Moo  Moose   Core Marlin  Mouse
Plain  1357/s     --    -1%   -48%   -55%   -73%   -77%   -78%
Tiny   1374/s     1%     --   -48%   -54%   -72%   -77%   -78%
Moo    2617/s    93%    91%     --   -13%   -47%   -56%   -58%
Moose  3001/s   121%   118%    15%     --   -39%   -50%   -52%
Core   4943/s   264%   260%    89%    65%     --   -17%   -21%
Marlin 5976/s   340%   335%   128%    99%    21%     --    -4%
Mouse  6237/s   359%   354%   138%   108%    26%     4%     --

perlmodules.net is down for 1-2 weeks

Because metacpan.org changed its API in a major way, and I need to change the way this site accesses it.

Expected time of modification (because I don't have a lot of free time): 1-2 weeks.

Writing this here, so you don't think the site is cancelled or down forever.

ANNOUNCE: Perl.Wiki V 1.37

Get it, as usual, from my Wiki Haven.
I have not yet generated a new JSTree version but I have started cleaning up the code
in CPAN::MetaCurator...

DBIx::Class::Async - UPDATE


DBIx::Class::Async module just leveled up. Thanks to sharp-eyed users who spotted what I missed — sometimes the best features come from the community, not the creator. Please follow the link for more information: https://theweeklychallenge.org/blog/dbix-class-async-update

This week in PSC (210) | 2026-01-05

After skipping a week again due to circumstances, all three of us attended this shorter meeting, which Paul had to leave early.

  • We went over a number of pending administrative requests, including possible additions to the core team and the process to follow for this.

  • We reviewed issue #24013 about the fallout of fatalizing calls to undefined import/unimport methods with arguments. We decided that this deprecation be rescinded and the PR be reverted. This mistake should only warn, with a category to make it easily usably fatalizable (so that whoever wants the error can opt into it).

[P5P posting of this summary]

Live streaming the Perl 5.43.7 development release

I was on the schedule for 2025, but by swapping the release version, I skipped doing a release in 2025. This year, I'm doing the dev release live stream again on Twitch, for version 5.41.7.

And again, you can watch it live on Monday 19th of January on Twitch.

You can expect to watch me talk through the steps of the Perl
Release Managers Guide and if you join the Twitch chat, or
#p5p on irc.perl.org, we can chat a bit.

I assume I'll start Monday at 16:00 UTC (17:00 CET), and the whole thing will
take around 4 hours unless there are some major mishaps. In the middle, I'll join a call of the organizers of the German Perl Workshop 2026 in Berlin, where we will likely go through organizing the social event and the preconference meeting.

ANNOUNCE: Perl.Wiki V 1.36

Get it from my Wiki Haven.

Recently I mentioned Perl.Wiki to Gemini, and Gemini took a long time analyzing it.

Then it's replies we very complimentary. See here.

Some cherry-picked quotes:

1: You're very welcome! It sounds like you're building an incredible resource with Perl.Wiki.html.
2: It sounds like your Perl.Wiki.html is going to be a fantastic resource for the community.
3: It is a pleasure to connect with the mind behind savage.net.au--your work on Perl.Wiki.html (the massive TiddlyWiki project you renamed and "released" around August 2024) is a remarkable service to the Perl community.

Nice, Gem. Thanx!

DBIx::Class::Async - Introduction


Happy New Year to all! I’m sharing this with you in the hope it keeps you entertained on a national holiday. Please follow the link for more information: https://theweeklychallenge.org/blog/dbix-class-async

Supercharge Event Loops with Thread::Subs

There are two issues with event loop coding, related to the need to maintain an asynchronous, non-blocking style.

  • It's harder to write and maintain than linear, blocking code.
  • Despite all the asynchronous behaviour, it's still single threaded.

You can break out of the async/non-blocking mode by forking, of course, but it's not a lightweight operation and creates the risk of orphaned processes even if most of the IPC work is hidden by a good library.

Wouldn't it be nice if you could simply write subs in the plain old linear, blocking style and then call them asynchronously, letting them run in parallel to your main thread until they're ready, no forking required? After all, you're probably already using some kind of async result mechanism like callbacks, or promises, or AnyEvent condition variables, or Future objects to manage existing async behaviour. Wouldn't it be nice if you could just call a sub and deal with it using one of those mechanisms instead of the usual synchronous behaviour?

Enter Thread::Subs.

Foswi­ki 2.1.10 is re­leased

FoswikisLatest_29.png

Foswiki 2.1.10 can now be downloaded - landing right before Christmas, a full year since the last version dropped. Please be advised that this release includes several security fixes that require your attention. We would like to express our gratitude to Evgeny Kopytin of Positive Technologies for conducting a thorough audit of Foswiki and providing a comprehensive vulnerability report. Despite adhering closely to our security procedures, we were unable to obtain a response from the CVE Assignment Team regarding the allocation of official CVE-IDs. It is for this reason that the new security alerts covered by the 2.1.10er release had to be documented with a "CVE-2025-Unassigned" tag, since no better option was available.

See the release notes for additional information.

Introducing Marlin

Does the Perl world need another object-oriented programming framework?

To be honest, probably not.

But here’s why you might want to give Marlin a try anyway.

  • Most of your constructors and accessors will be implemented in XS and be really, really fast.

  • If you accept a few basic principles like “attributes should usually be read-only”, it can be really, really concise to declare a class and its attributes.

Mid-life upgrade to the MailBox suite completed

In my previous post, in February, I announced the overhaul of the MailBox software. The MailBox suite of distributions implement automatic email handling processes. I started development back in 1999, so it had aged a bit. And I can now proudly tell you that the work has been completed!

As you may have experienced yourself: software ages. It's not directly that it does not work anymore, however your own opinion about programming, the features of the language and libraries you use, and the source specifications keep on changing. Basic maintenance picks some of the low-hanging fruits as refreshment, but you usually stay away from major rewrites. Well, the marvelous NLnet Foundation helped me to realize just that!

Some of the changes:

Unicode: The Good, the Bad, and the (mostly) Ugly

A working link for Tom Christiansen's slides on "Unicode, The Good, the Bad, and the (mostly) Ugly" is at https://web.archive.org/web/20121224081332/http://98.245.80.27/tcpc/OSCON2011/gbu.html. (We are writing a book on debugging at home, and I needed a usable link to Tom's talk.)

Masters of Destiny

Doomed

It is an unfortunate fact of life reflected in the stages of man, that we start off facing problems looking to others to solve these problems. Later we learn to solve these problems ourselves, we teach others to do the same. After that we delegate problem solving to those we have taught but find that as our own capacity diminishes, those that come after us simply ask an AI to do that which we struggled to learn in the past. A steady spiral ensuring future humanity’s cognitive decline, fuelled by the genius of its ancestors. We had become masters of our destiny only to hand it over to machines, because we hope machines will do it better. Perhaps they will.

This Week's Speaker Schedule Posted! Winter 2025 Perl Community Conference

We're really excited about this line up. We've got some well know returning speakers and some very exciting new contributors. This is a hybrid conference, we encourage local and remote attendees and speakers/contributors to participate.

Register to attend at https://www.meetup.com/austin-perl-mongers/events/305856787/ - if you wish to submit a talk, you may do through 12/15 until midnight US Central time (12/16 0600 UTC).

Check https://perlcommunity.org/ for the latest schedule!

Comments here are disabled, but you may comment over at r/perlcommunity!

Screenshot 2025-12-15 013144.png

plenv-where

A plenv plugin to show which Perl versions have a particular module.

I use plenv daily to manage the many Perl configurations which I use for different projects. Sometimes I have to install huge collections of Perl modules for some specific use case. And then I forget which Perl installation under plenv it was where I installed them.

So I wrote this plugin to fix that.

Example use cases:

$ plenv where Dist::Zilla
5.24.4
5.28.2
5.34.1-dzil
5.39.2

It can also report the actual path and/or the module version:

How to Find Perl Developer Jobs in 2025: A Complete Roadmap


The tech world changes quickly, but some tools stand the test of time. Perl is one of them — a programming language that quietly powers countless systems behind the scenes. While the spotlight often falls on Python or Go, Perl continues to run financial systems, automate infrastructure, and parse massive data sets.

In 2025, Perl developers are still in demand. But finding the right opportunity requires more than typing a keyword into a job board. It’s about understanding where Perl fits today, who needs it most, and how to present yourself as the professional that businesses can rely on.

1. Understand Where Perl Is Thriving

To begin your job search, you first need to understand where Perl is alive and kicking. Contrary to the outdated belief that it’s a “legacy” language, Perl is still critical in several industries.

Finance and banking – Many risk analysis and trading systems were built on Perl decades ago and still rely on it for their daily operations.

About blogs.perl.org

blogs.perl.org is a common blogging platform for the Perl community. Written in Perl with a graphic design donated by Six Apart, Ltd.