Issue #766 - 2026-03-30 - Perl: Past, Present and Future

latest | archive | edited by Mohammad Sajid Anwar
This edition was made possible by the supporters of our cause.
Don't miss the next issue!

Hi there,

This week's Perl landscape firmly establishes that while the history of Perl is rich and exciting, it is also a place for experimentation and innovation in the future. There have been handful of releases of Perl v5.43.9 which came up with plenty of changes and major one for me was the enhanced /xx pattern modifier. In between there was another very important patch was released, Perl v5.42.2-RC1, and Perl v5.40.4 addressing the vulnerability in Compress::Raw::Zlib. Don't dare call Perl is dead.

Ever worked with XS modules? Well we have three related XS modules that made it looks so simple and easy. The benefit of XS helps creating efficient and high speed unique identifier creation using Horus, Apophis, and Sekhmet. Bonus, you get to see how they can be used together. Robert seems to be on the roll with his another gem, Eshu, a code formatter written entirely in C and exposed to Perl through XS.

Not everything have to be, XS. Dave showed how you can work with TOON (Token-Oriented Object Notation), textual format for representing structured data, same data model as JSON. Using his new creation TOON, one can easily work with TOON data model. If you are XS fan, feel free to create XS version of TOON.

Do you use Java? If yes then you now have the choice of using Perl power inside Java. The project, PerlOnJava, gives us handy tool to get the job done: jperl, jcpan, and jprove.

The week was fun, too much to handle in such a short time but I am not complaining. I am finding it hard to keep up, how about you?

Enjoy rest of the newsletter.

Mohammad Sajid Anwar


Announcements

TPRF Board Announces the 2025 Annual Report

by D Ruth Holloway

The Board is pleased to share the 2025 Annual Report from the The Perl and Raku Foundation.


Articles

Beautiful Perl feature: "heredocs", multi-line strings embedded in source code

by Laurent Dami (DAMI)

This article on the Beautiful Perl Feature - Heredocs and MultiLine Strings provides a nice introductory overview of how to use Perl's heredoc syntax to create readable, maintainable multiline text. It provides practical examples combined with a simple explanation which allows experienced programmers and novices alike to have a fresh look at an item that has been around for many years.

Perl, the Strange Language That Built the Early Web

by John Coffey

The unusual language that made the early web; a glimpse at the history of Perl less than truly alien to the average user; The original dynamic/interactive media for the internet; with its contribution to automation processes (primarily text); through CGI scripting - both technically and culturally; In terms of practicality or versatility; play a significant role in creating and supporting how the first wave of web interactivity was created and how it became an integral part of the early days of the world wide web.

Horus, Apophis, and Sekhmet: An C/XS Identifier Stack for Perl

by Robert Acock

This post focuses on three related XS modules for efficient and high speed unique identifier creation (UUID, ULID and deterministic) and content-addressable storage in Perl. It provides a comprehensive overview of how to use these tools in conjunction with each other to create an efficient and scalable unique ID workflow. It also demonstrates how they can be used together.

Eshu: Indentation Fixer for Eight Languages, Written in C

by Robert Acock

This article discusses a portable C-based program that formats code and will uniformly line up the indentation across eight different programming languages. It describes examples to show you how Eshu can help you make the indentation to your programming code consistent with very little effort and no extra heavy duty tools required. For Developers who choose to use other than traditional language-specific formattors, this document presents an overview of how Eshu creates a lightweight formatting solution that developers may find useful.

Writing a TOON Module for Perl

by Dave Cross (DAVECROSS)

The article presents TOON (Token-Oriented Object Notation) which aims to be simple for both people and LMs to construct and understand while using as few punctuation marks as possible and maintaining an easily accessible structure of data. It also discusses the reasons why TOON will be beneficial and provides a Perl implementation module for TOON with a familiar interface to those that have used JSON.pm.


CPAN

Graphics::Toolkit::Color 2.0 feature overview

by Herbert Breunung (LICHTKIND)

The Graphics::Toolkit::Color 2.0 feature overview post provides an impressive look at all of the most significant improvements that have been made in developing GTC 2.0. The description outlines how GTC has grown beyond only doing basic coloring routines to include now a much richer, more complex, multi-space colored library complete with the ability to create beautiful gradients, accurately measure colors for perceptual purposes, and a variety of tools for use by both designers and developers. Overall, this is a succinct overview that does an excellent job of showcasing the reasons why GTC 2.0 is a unique addition to CPAN.

PerlOnJava Gets a CPAN Client

by Flávio Glock (FGLOCK)

This is a great update regarding the addition of native CPAN support to Perl-on-JVM tooling. The example uses the ability to use an already developed CPAN client for installing modules and accessing the overall CPAN ecosystem in a more natural way than would be done with the non-JVM versions of the clients. It gives many real-world examples and is an excellent source of information for those who want to connect Perl and Java.

Lingua::* - From 17 to 61 Languages: Resurrecting and Modernizing PetaMem's Number Conversion Suite

by PetaMem

The blog entry, "Lingua Revival", is an interesting way to reintroduce Lingua by combining elements of memories with new features that apply to modern day Perl. The story is easy to follow and focuses on being usable in today's world, which will be beneficial to both long-time users and new users of the project.


The Weekly Challenge

The Weekly Challenge by Mohammad Sajid Anwar will help you step out of your comfort-zone. You can even win prize money of $50 by participating in the weekly challenge. We pick one champion at the end of the month from among all of the contributors during the month, thanks to the sponsor Lance Wicks.

The Weekly Challenge - 367

by Mohammad Sajid Anwar (MANWAR)

Welcome to a new week with a couple of fun tasks "Max Odd Binary" and "Conflict Events". If you are new to the weekly challenge then why not join us and have fun every week. For more information, please read the FAQ.

RECAP - The Weekly Challenge - 366

by Mohammad Sajid Anwar (MANWAR)

Enjoy a quick recap of last week's contributions by Team PWC dealing with the "Count Prefixes" and "Valid Times" tasks in Perl and Raku. You will find plenty of solutions to keep you busy.

Count the Times

by Arne Sommer

Raku Musings has a clearly written "Count the Times" post that gives a well-organised overview. It shows how idiomatic features work together effectively in Raku, resulting in a clear and elegant solution. There is an excellent balance between compact code and an informative explanation. The post demonstrates the use of expressive constructs that lend themselves to solving this type of problem using Raku.

Could We Start Again, Please

by Bob Lied

Bob Lied writes an engaging post about a problem in a clear manner, interspersing logic with humor; making it a pleasure to read! The author reviews alternative methods and their advantages/disadvantages and demonstrates a practical approach as well as demonstrating good Perl coding skill.

Valid Times

by Bob Lied

Bob Lied's "Valid Times" post systematically breaks down the issue into distinct steps while also providing significant attention to detail in regards to possible edge cases and practical limitations of validation of times. It presents a succinct but complete Perl code and corresponds with sound logic behind the choice of this Perl implementation, which allows readers to follow along easily and use as a reference when addressing the same type of parsing problems.

Perl Weekly Challenge: Week 366

by Jaldhar H. Vyas

The Jaldhar's blog has written an extensive, interesting post detailing how to perform Week 366 tasks. It does so by separating them into two sections: Problem 1 and Problem 2. This helps readers easily understand the problems themselves, as well as providing a clear path to solution using Perl. The blog also clearly states the logic behind each step, allowing readers to learn from the blogs experience while still being able to easily move on to solving this week's challenges independently.

Pre-Timed Counters

by Jorg Sommrey

The blog post written for the week of 366 by Jörg, presents an elegant solution that exemplifies the use of clear and concise Perl programming techniques with a command of idiomatic constructs. The reader will appreciate Sommrey's clean, logical approach in solving the problem space and his appreciation for the use of expressive and efficient code, which reflects both familiarity and appreciation for the inherent beauty of programming.

what time is it?

by Luca Ferrari

Luca Ferrari's post is a further example of his continuing theme of approaching Perl Weekly Challenge in an analytical as well as exploratory way; frequently developing solutions in several languages and platforms to help him better understand the challenges. Luca's posts provide very useful instruction/examples; help you learn through experimentation/experience; and help you to truly think about and re-examine/consider the real-world nature of the solution.

Perl Weekly Challenge 366

by W Luis Mochan

The write-up gives a very reasoned overview of the problem with easy-to-follow methods of solving it using logical thinking. There is a good amount of coding as well as thorough explanations that create a valid and helpful source for those searching for an understanding of this issue and its methods of resolution using Perl.

Counting Times Without Questions

by Matthias Muth

The article from Matthias Muth, entitled Matthias Muth's Week 366, is a clear and precise description of his thought processes relating to solutions presented in a concise manner while also being well-organised so as to make it easy to understand the underlying concept. It has an elegant and idiomatic style similar to that of Matthias' other contributions to the Perl Weekly Challenge, and it has a very clean decomposition of the problem that allows more experienced readers to develop an appreciation for it.

The Times They Are A-Countin'

by Packy Anderson (PACKY)

The entertaining narrative of Packy Anderson's post combines humor and solid technical approaches to a problem to keep readers interested and provide them with an enjoyable and intuitive experience involved in the solution. His creative approach to framing the challenge and providing clear examples of how to solve it makes for a positive experience for all.

Prefixes and times?

by Peter Campbell Smith

Peter Campbell Smith's Week 366 Write-up provides an unambiguous, pragmatic solution style representing a strong real-world Perl mindset. The emphasis is placed on solving the problem in an accurate and efficient manner through simple implementation methods. The provided solution is straightforward and effective; he understands the relevant tasks thoroughly and prefers to solve issues clearly and without complexity (typical of all Weekly Challenges).

The Weekly Challenge - 366: Count Prefixes

by Reinier Maliepaard

The writing style used by Reinier Maliepaard in his submission demonstrates a logical and coherent framework and logical correctness; Making it easy for the reader to follow. Reinier’s structure of writing reflects discipline and analytic thought, along with succinctness, resulting in a Combination of Clear and Robust Perl Source Code, which matches the strategy of problem-solving as well.

The Weekly Challenge - 366: Valid Token Counter

by Reinier Maliepaard

The Week 366 second post by Reinier Maliepaard provides another example of his methodical and rational approach to problem-solving with a detailed logical breakdown along with concise Perl code to solve the problem. The article focuses on providing a clear, correct, and easily read explanation of how to work through validation problems, offering users of all skill levels an accessible, educational account.

The Weekly Challenge #366

by Robbie Hatley

Robbie Hatley's Week 366 Answers includes usable Perl solutions, as well as easy to follow logical documentation for each step of reasoning. What is accomplished is a practical, understandable solution. While the solutions provide a clear method to convey both the "how-to" and "why" of developing the final product, they also teach the reader to think through each implementation logically.

The Time of the Count is Over

by Roger Bell West (FIREDRAKE)

Week 366 of Roger's post is an impressive example of multi-language exploration with Ruby, Lua, PostScript and Raku; it illustrates how to solve problems in Perl and develop cross-language thinking by presenting examples of various programming paradigms solving the same problem as well as having clear and entertaining explanatory text.

Happy 7th birthday TWC!

by Simon Green (SGREEN)

Simon Green's 7th Anniversary Post for The Weekly Challenge is an amazing, heartfelt reflection of how far we've come as a community over the past seven years, combining his personal experience with his deep appreciation for all the amazing contributors & readers to our community. It's an uplifting and well-written post that captures the essence of what The Weekly Challenge is about and how it's positively affected our lives.


Rakudo

2026.12 Ich bin ein Berliner

by Elizabeth Mattijsen (ELIZABETH)


Weekly collections

Events

Perl Toolchain Summit 2026

April 23-26, 2026

The Perl and Raku Conference 2026

June 26-29, 2026, Greenville, SC, USA



You know, you could get the Perl Weekly right in your mailbox. Every Week.
Free of charge!

Just ONE e-mail each Monday. Easy to unsubscribe. No spam. Your e-mail address is safe.
Perl Weekly on Twitter RSS Feed of the Perl Weekly. Updated once a week