ANNOUNCE: Perl.Wiki V 1.49, etc
- Perl.Wiki.html V 1.49
- Debian.Wiki.html V 1.14
- Digital.Security.Wiki.html V 1.23
- Mojo.Wiki.html V 1.20
- Perl.Wiki.html V 1.49
- CPAN::MetaPackager V 1.04
- CPAN::MetaCurator V 1.24
All three of us attended.
HTTP::Tiny situation cleared up; it was only caused by smokers-only tests against a live system that was intermittently unresponsive. Consequently we have now synchronized with CPAN, which means every one of the late-in-cycle release blockers we had is now addressed.GTC 2.20 brings a huge amount of new features again (described in this post) and is starting an additional, more trimmed down, high level API, geared more toward what designers expect. But it also comes with new documentation and error handling, the two most important things that were missing for a professional distribution.
https://forms.gle/PGGHXoYGeEhSapKy5
If you submitted your talk via Papercall (when it was working), we have recovered your submissions and there is no need to resubmit.
You may see the announcement at https://www.papercall.io/perlcommunityconferencesummer26, but talk submissions must go through https://forms.gle/PGGHXoYGeEhSapKy5 because papercall.io is very broken.
If you wish to comment about this post, please do so at r/perlcommunity.
Cheers, Brett Estrade (OODLER)
Talks Delivered at Winter 2025 Perl Community Conference in Austin, TX
Video editing in progress, will be released after the 2026 Summer PPC.
Each PPC has its own playlist on our YT channel!
Talks Delivered at Summer 2025 Perl Community Conference in Austin, TX
I have uploaded to CPAN:
o CPAN::MetaCurator V 1.23
o CPAN::MetaPackager V 1.03
And I have uploaded to my Wiki Haven:
o Perl.Wiki V 1.48
o cpan.metacurator.tree.html V 1.23
o Mojo.Wiki V 1.19
This week we had to reschedule to Tuesday in order to attend in full strength.
So I've created a programming language which blends a fairly JavaScript-like syntax with fairly Perl-like semantics, and a few other features that I haven't really seen in many programming languages.
This Perl:
use Path::Tiny;
my $str = uc(substr(Path::Tiny->new("myfile.txt")->slurp_utf8, 0, 80));
Becomes this in ZuzuScript:
from std/path import Path;
let str := new Path("myfile.txt")
▷ ^^.slurp_utf8
▷ ^^[0:80]
▷ uc ^^;
The ▷ operator means "evaluate the left side, then evaluate the right side with ^^ set to the result of the left side". It's conceptually similar to | in shells and seems to make a lot of expressions so much easier to understand.
Whilst Bit::Vector is available as a Debian package in libbit-vector-perl, when installing it using cpanm the compile failed for me.
The installation crashed during the make stage, throwing a specific compiler error regarding false and true tokens:
Building Bit-Vector-7.4
...
cc -c -D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -O2 -DVERSION=\"7.4\" -DXS_VERSION=\"7.4\" -fPIC "-I/home/dean/perl5/perlbrew/perls/perl-5.40.3/lib/5.40.3/x86_64-linux-thread-multi/CORE" BitVector.c
In file included from BitVector.c:12:
ToolBox.h:98:20: error: cannot use keyword 'false' as enumeration constant
98 | enum { false, true };
| ^~~~~
ToolBox.h:98:20: note: 'false' is a keyword with '-std=c23' onwards
make: *** [Makefile:343: BitVector.o] Error 1
-> FAIL Installing Bit::Vector failed.
Then here is a reminder that in light of current events you will want to update your account to use a different email address. (There are about 130 of you that get to jump through this hoop now.)
If you need help, email contact@blogs.perl.org as per usual.
This post is the first in a series that will follow my re-development of the Devel::ptkdb debugger. This post explains the beginnings of my involvement with the Perl Tk debugger.
After a pause in April, here is a new article in the Beautiful Perl features series on dev.to: low-precedence boolean operators 'and', 'or'
I was once again privileged to be able to attend this year's Perl Toolchain Summit. This is the 13th year (in a row if you discount the Covid years) that I have been able to attend and it is the technical highlight of my year.
This year the event was held in Vienna and, for the first time, my wife accompanied me. We took a direct train from Zürich to Vienna and had a wonderful trip through the glorious Swiss and Austrian countrysides.
We arrived fairly late on Wednesday evening so didn't meet up with anyone then, but we saw a few of the other attendees at breakfast the next morning, and then I set off for the venue where I met up with everyone else, heard BooK's opening speech, took part in the introductions and then split off into a room with the MetaCPAN group with whom I spent about half of my time. Meanwhile, my wife set off to explore Vienna.
A quick summary of what I got up to at PTS 2026 in Vienna.
Test::Smoke's long-term future. I had several useful discussions with H. Merijn Brand (Tux) and Todd Rinaldo (toddr) about keeping Test::Smoke maintainable for the long term. This tied directly into the MetaCPAN hosting migration below: DigitalOcean offers managed Postgres, Hetzner doesn't, and Test::Smoke's existing database usage wasn't especially efficient. The outcome was toddr starting a rewrite that runs as a single container backed by SQLite and local files -- much more portable and easier to operate.
Migrating MetaCPAN from DigitalOcean to Hetzner. I spent a big chunk of the summit pairing with Shawn Sorichetti (hide) on the migration, including reorganising our Kubernetes setup so it deals more cleanly with multiple environments. Shawn was making a large number of changes; I focused on reviewing them quickly so we could iterate fast.
Signing CPAN Releases with SigStore
At the most recent Perl Tool Chain Summit (PTS) in Vienna we decided to deprecate Module::Signature. Module::Signature has been around for a long time but it has become increasingly clear that it does not provide the security assurances that it was designed to deliver.
Dist::Zilla::Plugin::SigStore::SignRelease is a new plugin that signs your CPAN release with SigStore before uploading. SigStore uses short-lived, OIDC-issued certificates. You authenticate with Google, GitHub, or Microsoft, and cosign produces a signature bundle. No long-lived keys, no keyserver dance.
How it works
The plugin extends the Dist::Zilla plugin UploadToCPAN. During the dzil release, it:
Hai again, after a very productive three weeks I can announce the next major release of Graphics::Toolkit::Color (despite the rather small version number jump). In this post I explain what changed(+12 spaces, +1 method, +7 method args), why it is relevant and how I used LLMs to achieve that.
At the 2026 Perl Toolchain Summit Salve Nilsen and I proposed some ideas that we have been discussing on and off for the past several months for CPANSec, for a CPAN Meta v3 Specification.
Version 2 of the CPAN Meta Spec (CPAN distributio n metadata specification) is does not allow the addition of new data, except using fields prefixed by "x_".
However, there is a need to include additional metadata about:
SECURITY.md, GOVERNANCE.md and AI_POLICY.mdThis post is adapted from my notes and recollection of the welcome speech I gave on the morning of Thursday April 23, 2026, just before the initial stand-up.
This post is brought to you by Geizhals Preisvergleich, a Gold sponsor for the Perl Toolchain Summit 2026.
You can learn more about Geizhals at the end of this article.
This year, I was once again honored to be invited to the Perl Toolchain Summit (PTS), held in Vienna. Following productive years in Lisbon and Leipzig, the CPAN Security Group (CPANSec) spent time discussing how to improve the security of the Perl and CPAN ecosystem.
As always, the magic of PTS lies in the hallway discussions and focused groups where we can work on complex problems that are nearly impossible to coordinate over email or GitHub alone.
CPANSec: Maturing our CNA Role
Since we established CPANSec as a CVE Numbering Authority (CNA) in 2025, our focus has shifted toward efficiency and sustainability. We have a small group working on finding and documenting vulnerabilities. We spent time in Vienna discussing:
blogs.perl.org is a common blogging platform for the Perl community. Written in Perl with a graphic design donated by Six Apart, Ltd.