Perl 🐪 Weekly #786 – CPAN Day

Originally published at Perl Weekly 786

Hi there,

Every year on August 16th, the Perl community celebrates CPAN Day in recognition of the Comprehensive Perl Archive Network (CPAN), which has been helping many applications for more than three decades. It is noteworthy that CPAN is neither a simple collection of coding resources nor a repository of modular code because it is one of the oldest and most reliable open-source systems in computer programming history. CPAN Day celebrations give us a chance to consider the volume of work that is performed to support this library every day.

At the core of the success of CPAN is its strong contributor network. Thousands of people are improving, supporting, documenting, and regulating thousands of modules every day, enabling developers worldwide to avoid duplicating efforts. That said, CPAN Day is a good day to celebrate all CPAN contributors that make this system work perfectly. As we are celebrating this day, it is important that all CPAN authors should make an effort to remove older obsolete distributions from PAUSE directories.

For me, I released Map::Tube::Plugin::Graph v1.1.2 to CPAN and also mark handful of older releases for deletion from PAUSE directories.

Last week, Gabor mentioned about upcoming online presentation, Async, Type-Safe, and Secure: Perl’s Answer to FastAPI. Watching the growing list of audience, I am feeling little nervous. I had prepared the presentation slides as soon as I confirmed the event. But then keep updating the slides as the topic, PAGI::FastAPI is continuously improving. Currently working on to support message queue to PAGI::FasAPI. If I find time, I might add slides about message queue as well after the release. A big thanks to John Napiorkowski for advise and suggestions. I wouldn’t have come this far without his support and encouragement. By the way, he is the creator of Perl Asynchronous Gateway Interface (PAGI).

Enjoy rest of the newsletter.


Your editor: Mohammad Sajid Anwar.

Articles

PAGI::FastAPI + WebSocketby Mohammad Sajid Anwar LinkedIn

Let’s build online chat using PAGI::FastAPI and Mojo::Pg. It is incredible easy to build the app with little effort.

PAGI::FastAPI + DBIx::Class::Asyncby Mohammad Sajid Anwar LinkedIn

When building async web framework, it is obvious to bring DBIx::Class::Async into the fold. In this post, you will see how database handle is injected as dependency. One of the cool features, my personal favourite.

Access / Refresh Tokenby Mohammad Sajid Anwar LinkedIn

A quick introduction to Access Token and Refresh Token, and end up creating a handy web application to demo the workings.

pperl 0.6.12+ – “Shall we play a game?”by Richard C. Jelinek LinkedIn

In versions 0.6.12 and up of pperl the development speed of the application is assessed while the Computer Language Benchmarks Game is updated. Initial tests show that the benchmark performance is 36 times better than standard Perl performance triggering redesigning of the JIT architecture to compete with Node.js/V8.

Pacman in Perl/Tkby Alex

In Pacman in Perl/Tk, Alex goes back to a project he worked on in 2013 in order to analyse the separation of logical state from visual representation. By implementing the maze as a two-dimensional array where the shifting and collision functions use tile coordinates instead of canvas pixels, the article is able to exhibit a surprisingly elegant architecture similar to the Model-View approach using standard Perl and Tk.

25+ useful and commonly used Regular Expressionsby Dennis

In this article, Dennis offers a useful reference guide containing patterns most often needed in various elements of work, namely for matching numbers, validating usernames, carrying out sophisticated RFC-compliant email verifications, and web scraping. The article is informative and useful for developers who perform tasks related to parsing and validating data.

Grants

Maintaining Perl 5 Core (Dave Mitchell): July 2026

Maintaining Perl (Tony Cook) July 2026

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 Marc Perry.

The Weekly Challenge – 387by Mohammad Sajid Anwar LinkedIn

Welcome to a new week with a couple of fun tasks “Rearrange Binary String” and “Atoms Count”. 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 – 386by Mohammad Sajid Anwar LinkedIn

Enjoy a quick recap of last week’s contributions by Team PWC dealing with the “Reverse Base” and “Rational Numbers” tasks in Perl and Raku. You will find plenty of solutions to keep you busy.

TWC386by Ali Moradi

Ali’s answer uses a blend of conciseness in Perl with strong problem-solving skills in The Weekly Challenge assignment number 386. The first task of converting numbers from one base to another uses nicely achieved hash mapping and destructive string extraction, while the second task showcases impressive regex skills and presents a method for normalisation of decimals with no floating-point errors.

Reverse Lanoitarby Arne Sommer LinkedIn

In this post, Arne demonstrates how Raku works in a visually rich and elegant way. The blog is technologically satisfying as it best employs Raku features such as regex pattern matching, applied in decimal representation, and hyperoperators, which are good in performing precise comparison of rational numbers using cross multiplication.

All Your Base Are Belong to Rational Numbersby Bob Lied

Here Bob provides a concise and logical approach to this week’s Perl Weekly Challenge. He successfully addresses the tasks connected with rational numbers through using Perl’s built-in bigrat module that makes it easy to deal with fractional numbers, proving that intelligence in the use of libraries can make solving complex problems in number theory much easier.

Perl Weekly Challenge: Week 386by Jaldhar H. Vyas LinkedIn

The post offers an informative object-oriented perspective on Perl Weekly Challenge 386 in relation to Raku and Perl. Jaldhar thoroughly explains the procedure of dynamic base conversion in Task 1 with the use of Meta Object Protocol wrapping methodology, while the implemented Fraction class is presented in Task 2 for eliminating repetitive decimal fractions using GCD method.

Periodic Basesby Jorg Sommrey

The post discusses an admiringly strict mathematical and programming technique of solving the problems of Weekly Challenge 386 with the help of Perl and J languages. Jorg manages to dispense with the floating-point precision problems thanks to the natural algebraic proofs and succinct, neat implementations.

Perl Weekly Challenge 386by W Luis Mochan LinkedIn

The message outlines a very concise and precise solution to the Weekly Challenge 386 by Perl. The repetition of decimal fractions is modeled by using the knowledge of the geometric series, and W. Luis Mochan utilises the method of cross-multiplication, thus avoiding the pitfalls of floating-point precision. In addition to effective error handling, the message offers effective prototypes and other code design approaches.

We’re Talkin’ Algebraby Packy Anderson LinkedIn

This post demonstrates a thorough, organised, and very instructive description of how to solve the Perl Weekly Challenge 386 in various programming languages. It is impressive how Packy knows how to present complex mathematical algorithms in a useful step-by-step way, paying attention to such smart language tools as list inversion in Raku or pair transformations.

Hitting the bases with recurring numbersby Peter Campbell Smith

In week 386, Peter presents a neat, efficient, and very strong Perl design for the base conversion process. The blog post is remarkable because there is an insightful mention of the special cases, and all the edge cases are taken into account, for example, the digit limits and base limits, which makes it different from the others.

The Weekly Challenge #386by Robbie Hatley LinkedIn

Robbie has provided a very efficient and practical solution for Perl Weekly Challenge #386 using robust and standard Perl core/CPAN modules. In doing so, he has displayed a very analytical and practical approach and avoided tripping over the standard floating-point precision problems and unnecessary re-implementations with the nice adaptation of the base conversion to the custom characters.

A Rational Reverseby Roger Bell West

The article offers a neat and clear solution to Weekly Challenge 386 through the transformation of arbitrary bases and recurring decimals into appropriate rational fractions. Roger is adept at using solutions based upon a combination of excellent mathematical reasoning—like reduction of fractions through GCD/LCM in Perl—and unsophisticated parsing methods, thus presenting a fascinating way to demonstrate string parsing and implementing mathematical data structures.

The Rational Baseby Simon Green LinkedIn

The article offers a clear and simple explanation to solve the problem in Weekly Challenge 386 with the help of Python and Perl. Simon has used regular expressions efficiently to get the separated integer parts, finite decimal and repeating sequences of digits. The string extension technique discussed in the article helps the readers in comparison of rational numbers without complex fraction calculations.

Rakudo

2026.32 Dan Floating Hexby Elizabeth Mattijsen LinkedIn

Weekly collections

NICEPERL’s listsby Miguel Prz

Great CPAN modules released last week.

Events

Amsterdam PM bijeenkomstSeptember 01, 2026

Async, Type-Safe, and Secure: Perl’s Answer to FastAPI with Mohammad Sajid AnwarSeptember 7, 2026

Purdue Perl Mongers (HackLafayette) – TBASeptember 9, 2026

Amsterdam PM bijeenkomstOctober 06, 2026

MCP – Model Context Protocol in Perl: From Web App to AI Tools – with Dave CrossOctober 21, 2026

Punk: Perl MVC, compiled at bootNovember 16, 2026

You joined the Perl Weekly to get weekly e-mails about the Perl programming language and related topics.

Want to see more? See the archives of all the issues.

Not yet subscribed to the newsletter? Join us free of charge!

(C) Copyright Gabor Szabo
The articles are copyright the respective authors.

Total
0
Shares
Leave a Reply

Your email address will not be published. Required fields are marked *

Previous Post

I spent 11 days optimizing a search ranking that only I could see

Related Posts