|
Perl Weekly
Issue #778 - 2026-06-22 - TPRC 2026
latest | archive | edited by Mohammad Sajid Anwar
|
|
Hi there,
If you are free between 25-29 June then there is a global event, The Perl and Raku Conference (TPRC) 2026, happening in Greenville. TPRC 2026 is an exciting opportunity for many people across the development, engineering, and open-source communities to come together and explore the Perl and Raku programming languages in-depth. The premise of the conference is to continue the tradition of Perl Mongers user groups by providing a welcoming environment for creators of all skill levels, while still providing advanced information for experienced creators. TPRC 2026 also serves as an ongoing resource for technical growth, practical skills development, and fostering real connections within the community.
My recent blog posts offer a practical and thorough exploration of modern backend development, balancing hands-on tutorials with deep-dive technical breakdowns. The collection spans actionable guides on implementing GraphQL mutations and event-driven Perl webhooks alongside a clear, three-part conceptual breakdown of PostgreSQL's MVCC architecture and transaction isolation. You can find the details down below.
Are you following the Football World Cup? Is your favourite team doing good in this event? I am rooting for two teams this time, England and Germany. I hope, England brings the trophy back this time. Enjoy rest of the newsletter.
Mohammad Sajid Anwar
|
|
|
Announcements
|
by Sarah T Gray
TPRC is happening very soon! If you haven’t registered, it’s not too late! We’d still love to see you in Greenville SC June 25-29.
|
|
Articles
|
The Perl steering committee have continued to work on the forthcoming release candidate of Perl through their ongoing triage efforts. Their current efforts include reviews of the test reports for the HTTP::Tiny module, the generation of draft perldelta documentation, and checking on the status of current PPC proposals and LLM policy issues.
|
|
by Mohammad Sajid Anwar (MANWAR)
The post contains an organised, simple and complete guide to implementing mutations in GraphQL. It’s also quite good at simplifying modifying data in comparison to querying data with examples from variable data so that you can easily learn how to do schema definitions & resolve logic.
|
|
|
by Herbert Breunung (LICHTKIND)
The article gives an overview of the significant updates to both the functionality and documentation in version 2.20 of Graphics::Toolkit::Color (GTC). The new features are broken down into three groups: a newly structured manual-based documentation system that encompasses all aspects of the GTC; new flexible configuration options for error handling; and the addition of three internationally recognized perceptually uniform colour spaces: OKHSL, OKHSV, and OKHWB. Further, it includes a new highly customisable skew argument to the complement() function, a method for generating analogous colours, and a new and user-friendly 7-method "designer API" specifically designed for adjusting standard digital design customisations.
|
|
by Mohammad Sajid Anwar (MANWAR)
In this article, you will find a detailed and practical guide to using webhooks natively in Perl. There are many niches that are currently unmet in regard to modern day web integration; this one is particularly well addressed. The post presents a step-by-step approach for creating an HTTP listener to receive payloads and how to process them accordingly. This demonstrates once again that Perl continues to be a very powerful and effective tool for building an event-driven web-based architecture.
|
|
|
Web
|
by Mohammad Sajid Anwar (MANWAR)
This article provides an explanation of how Multi-Version Concurrency Control (MVCC) works in PostgreSQL. It explains how Row-level locking is avoided by demonstrating the use of two hidden fields, xmin and xmax, which determine which transactions can see which rows. This is an excellent resource for all developers who want to improve their database performance and architecture.
|
|
|
by Mohammad Sajid Anwar (MANWAR)
In this follow up article, I am taking MVCC and going from just seeing how rows are visible to discussing how the data actually gets modified or cleaned up. It provides a clear understanding of how an update is an atomic operation that results in two separate Database Operations (a delete followed by an insert). It also provides a thorough overview of the VACUUM operation and illustrates how it is able to reclaim dead tuples, thus making a complex topic very simple and actionable for tuning performance purposes.
|
|
|
by Mohammad Sajid Anwar (MANWAR)
This final addition delivers closure to the PostgreSQL MVCC series, tying together theoretical row visibility mechanics and actual observations of concurrency in the real world. It presents how MVCC eliminates dirty reads, controls write-skew and serialises anomalies through the use of various isolation levels, provides a highly complex theory of transactions in a manner that is completely useful to database designers.
|
|
|
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 "Reverse String" and "Armstrong Number". 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 "Second Largest Digit" and "Sum of Words" tasks in Perl and Raku. You will find plenty of solutions to keep you busy.
|
|
|
by Ali Moradi
In this post, the solutions are provided in Perl with the use of some standard modules such as List::Util which makes processing lists easier than if you were to do it yourself. Ali also illustrates functional programming techniques by combining character and number manipulation with reduce() to convert text representations of digits into their corresponding numeric values.
|
|
by Arne Sommer
The article presents a clear and elegant solution for The Weekly Challenge #378 in the form of a single line of Raku code. Arne employs several of Raku's native constructs including a custom subset type, which provides for better validation of input by defining the range of acceptable values. Arne's use of combining .comb, .grep, and .unique to extract the characters from the input string along with basic ASCII character arithmetic, allows for the creation of an idiomatic and easy-to-follow solution.
|
|
|
by Jaldhar H. Vyas
The article presents extremely clever, one-line solutions for both Perl and Raku in response to The Weekly Challenge #378. Jaldhar has demonstrated an impressive understanding of both languages' built-in syntax by combining Raku's hyper operator ».Int with Perl's transliteration operator y/// to provide concise yet very clear solutions.
|
|
by Jorg Sommrey
The article is a very intelligent and systematic view of The Weekly Challenge #378, with excellent solutions in both Perl and J. Jorg has unique and inventive ways to optimise unique character extraction using the O(1) bucket sort method; both tasks can also be modified for use with custom character sets or any other arbitrary base.
|
|
by Lubos Kolouch
Implementations of these two assignments are very clean and idiomatic as well as easy to read in both programming languages. The way Lubos have implemented the hash-increment grep technique in Perl and the set() function in Python for deduplicating elements in the first assignment are both optimal and effective solutions. The way he has converted ASCII to numbers and vice versa in both the first and second assignments using characters' ord( ) methods combined with the string concatenation operator ' + ' provides an elegant solution which parallels the mathematical logic of the challenges.
|
|
by W Luis Mochan
In this article, you'll find an exceptionally beautiful and mathematically-based solution for each task in Weekly Challenge #378. W. Luis Mochan combines well-defined regular expressions to sort the unique characters with highly descriptive matrix-style mapping to create the word sums, which create an exceptional writing style while also creating highly readable, idiomatic, and expressive code.
|
|
|
by Packy Anderson (PACKY)
In this post, you will find an excellent collection of polyglot examples that provide beautiful solutions for all four languages (Raku, Perl, Python, and Elixir) for the 378th edition of the weekly challenge. Packy's approach to developing single-pass logic for the second-largest digit and to use native transliteration tools such as tr and .translate() - as well as his use of a custom-built translation reduction in Elixir - illustrates the level of versatility available in today's software development.
|
|
|
by Peter Campbell Smith
This post about Weekly Challenge #378 is a very thoughtful and practical assessment of the project. Peter's implementation is accomplished through a single line functional pipeline (splitting, grepping and sorting) in order to filter and count the digits, along with a smart use of a look ahead loop that separately accounts for duplicate values which repeat consecutively.
|
|
|
by Reinier Maliepaard
In this article, Reinier presents a very clean and focused solution for Task 1 of Weekly Challenge #378. He provides the precise logic for identifying which characters will be excluded from the final result, as well as ranking unique digits, and this solution is an excellent example of highly-readable, non-fluffed Perl programming designed specifically to meet the primary requirements of the task.
|
|
by Reinier Maliepaard
By simplifying the translation rules for words in this way, Reinier has created a very readable template to easily see where and how each digit (0-9) corresponds to a base 10 (decimal) character. In addition, the post has laid out an extremely clear and straightforward guide for building task two of weekly challenge #378.
|
|
by Roger Bell West (FIREDRAKE)
Through the use of an elegant design principle across multiple languages, this posting helps illustrate how an elegant design can be effectively conveyed through various paradigms. The separation of concerns and strong logical flow create an ideal blueprint in producing high-quality, maintainable software for developers.
|
|
by Simon Green (SGREEN)
This article offers a very detailed, well-structured analysis of the problem with precise technical details as well as clear formatting. It is also a great educational reference template to anyone who wishes to build their skills in creating idiomatic design through executing efficiently and supporting all edge cases.
|
|
|
Rakudo
|
|
|
Weekly collections
|
|
|
The corner of Gabor
A couple of entries sneaked in by Gabor.
|
by Gabor Szabo (SZABGAB)
I know it isn't as good as IRC, but this is what we have now. A Telegram and a WhatsApp group for Perl. If you are interested, send me a message and I'll invite you.
|
|
|
Events
|
|
|
|
|
|
|
June 26-29, 2026, Greenville, SC, USA
|
|
|
|
|
|
|
|
You know, you could get the Perl Weekly right in your mailbox. Every Week. Free of charge!
|