|
Perl Weekly
Issue #796 - 2026-10-26 - Perl and PHP
latest | archive | edited by Mohammad Sajid Anwar
|
|
Hi there,
While PHP developments are rushing to resolve "php2shell" RCE vulnerabilities (CVE-2026-109618 and CVE-2026-109619) caused by memory corruption and stale worker states, professionals that have worked with Perl approach the event with mixed feelings. For years, both languages used a very similar approach towards utilising scripts, however, owing to PHP's implementation of multi-request process worker model, which can be found in both PHP-FPM and mod_php by Apache, PHP was constantly vulnerable to a number of state leak defects in the way that traditional CGI or PSGI/Plack architectures would have never experienced.
Now turning our attention from engineering defense to celebrating the community, a gentle reminder that registration and talk proposals are open for the London Perl & Raku Workshop (LPW) 2026. The event is scheduled to take place on Saturday, November 21st, 2026, at The Cafe at Zoopla in Central London. If you want to either submit a talk for the general program or present your ideas in a separate breakout hackathon session, make sure to register well in advance.
Enjoy rest of the newsletter.
Mohammad Sajid Anwar
|
|
|
Announcements
|
by Olaf Alders (OALDERS)
Olaf analyses 25 years of financial data regarding The Perl and Raku Foundation (TPRF) from the public records of IRS filings. According to Olaf's report, TPRF suffered a significant downturn after 2020 due to the pandemic and conference declines, but recovered strongly in 2024-2025.
|
|
|
Articles
|
by Robert Acock (LNATION)
Ex::Op is the swift, XS alternative to Perl’s classic Exporter, and uses a new op keyword. It speeds up module imports and loop executions considerably by removing call frames, as well as the costs of passing @_.
|
|
by John Napiorkowski (JJNAPIORK)
The PAGI specification and the tools related to it are increasing the minimum Perl version to 5.24. This change is largely due to updates from its major dependencies (Future) and needs to fix problematic features such as the cancellation of asynchronous methods, leading to this clean break and avoiding using shadow methods that were reliant on the previous versions. Thus, anyone with an older version of Perl is invited to prepare for an upgrade.
|
|
|
by Rob Lauer
Rob has made available version 2.18 of libapreq2 (via a new fork of Apache2::Request), thus rescuing the now-defunct library from the incompatible builds of the latest CPAN installers (cpm / cpanm). The update resolves issues with the MakeMaker arguments, creates metadata, and fixes the test suite, thus making old installations of mod_perl work successfully again.
|
|
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.
|
by Mohammad Sajid Anwar (MANWAR)
Welcome to a new week with a couple of fun tasks "Absent Smallest Positive" and "Binary Reflection". 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.
|
|
|
by Mohammad Sajid Anwar (MANWAR)
Enjoy a quick recap of last week's contributions by Team PWC dealing with the "Finishing Order" and "Trionic Array" tasks in Perl and Raku. You will find plenty of solutions to keep you busy.
|
|
|
by Ali Moradi
This article provides a succinct yet idiomatic answer to a Perl problem, with effective use of in-built functions such as grep, as well as uncomplicated pointer-based scan loops. It tackles the problem head-on with an easy, compact code and thorough test cases.
|
|
by Arne Sommer
In this article, we can clearly see how expressive Raku is due to the amazing functionality of such features as the zip comparison operator (Z<=>), regex captures, and antipairs. The solutions are very brief, thoroughly checked, and show how to program using idiomatic Raku language.
|
|
|
by Bob Lied
The article presents a sensible and engaging analysis on solving problems through algorithms with the help of Perl, simplifying complicated concepts such as filtering lists and keeping an account of circumstances. The systematic style of modifying the information and checking for the occasional slippage makes it a good example of a resource that can be used by programmers on a weekly basis.
|
|
|
by Jaldhar H. Vyas
The tutorial demonstrates various features of a cross-language implementation of Raku and Perl for programming tasks that involve manual design of algorithms and maintaining proper tracking of states.
|
|
by Jorg Sommrey
The article is a brilliant thinker and, mathematically sophisticated, about the weekly challenges by applying PDL slices in Perl as well as tacit verbs with run-length equivalence in J which simplifies the sequence validation to elementary array manipulations in form of matching shapes.
|
|
by Luboš Kolouch
This article presents an accurate, algorithmically efficient resolution to Weekly Challenge #396. There is a combination of effective O(N) single-pass pointer tracking in the case of the problem related to the Trionic Array, and at the same time simple hash-based lookup technique used for Finishing Order, both described in idiomatic ways for Perl and Python.
|
|
by W Luis Mochan
This article features a sophisticated and efficient solution for Weekly Challenge #396 with the help of concise Perl scripts. The solution tackles Task 1 through the use of a lookup hash used for indexing, as well as Sort::ListUtil for sorting processes. In terms of Task 2, a clear state-machine loop is constructed to track monotonic transitions among neighboring values.
|
|
|
by Packy Anderson (PACKY)
This article provides a light-hearted multi-lingual take on Weekly Challenge #396 and explains how once we notice the fundamental sequence properties, we can convert a complicated sorting problem into a simple filtering one in Raku, Perl, Python and Elixir languages.
|
|
|
by Peter Campbell Smith
This blog post shows a very clear and beautiful method in Perl for solving Task 1: Finishing Order. The approach makes the solution for the challenge simple: since the order array has been transformed into a lookup array and the friends array can be sorted based on their finishing positions in a single sentence. The use of array indexing demonstrates how easy array indexing makes mapping problems.
|
|
|
by Reinier Maliepaard
The article presented by Reinier offers a simple introduction to solve the array indexing and sorting problem.
|
|
by Robbie Hatley
This article discusses Robbie's clear and practical Perl solutions for Weekly Challenge #396. It describes a hash-based index lookup technique for sorting finished orders and a simple directional-state list management technique (UDU) for checking trionic arrays.
|
|
by Roger Bell West (FIREDRAKE)
The post presents practical ideas derived from a multi-lingual view on Weekly Challenge #396, illustrating how various programming approaches (like functional filtering in Crystal and straightforward state machine iteration in Raku) can work with sequence filtering and monotonic validation.
|
|
Rakudo
|
|
|
Weekly collections
|
|
|
Events
|
|
|
|
|
|
|
|
|
|
|
You know, you could get the Perl Weekly right in your mailbox. Every Week. Free of charge!
|