Issue #759 - 2026-02-09 - Perl on LinkedIn

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

Hi there!

6 years ago we had an edition in which I wrote a bit about Perl on LinkedIn. Back then I collected some basic stats about the Perl groups on LinkedIn. I checked them again: The Perl Mongers group has 7,635 members (down from 8,283). The Perl Developer group has 3,587 members (up from 3,122). There is also a group called Perl with 18,994 that I apparently forgot to mention the last time.

Besides those groups there is also the Perl Maven page I maintain with 845 followers and my own personal page with 5,998 followers.

Even if you don't use LinkedIn on a daily basis I'd like to invite you to send a connect request to me. That way I'll have a better chance knowing who are the readers of the Perl Weekly.

Also a reminder that tomorrow we'll have another session of the Online Perl code-reading an open source contribution and not long after that there will be meeting of the Boston Perl Mongers

Enjoy your week!

Gabor Szabo


Articles

Mojo with WebSocket

by Mohammad Sajid Anwar (MANWAR)

Known for its real‑time web capabilities, Mojo seemed like the perfect framework to experiment with WebSockets. What better way to test it than building a live chat room?

Beautiful Perl feature: BLOCKs

by Laurent Dami (DAMI)

BLOCK : sequence of statements; Lexical scope; Lexical scopes in Python are not like Perl; Lexical variables; Shadowing variables from higher scopes; Lexical pragmata

Beautiful Perl features - introduction to the series

by Laurent Dami (DAMI)

Expressiveness of the Perl programming language. Perl vs other languages : Compare facts, not opinions.

Cast-Iron Community: Your Chance to Sponsor TPRC 2026

by Olaf Alders (OALDERS)

'Perl is my cast-iron pan - reliable, versatile, durable, and continues to be ever so useful.'


Discussion

A day in the life with Perl

It is more like a questionnaire, but you can discuss the answers.

Auto format detection with perfidy anyone?

Would you like to have a tool that would look at your code-base and generate a perltidy configuration file that matches it?


CPAN

OSDC Perl 2026.01 report

by Gabor Szabo (SZABGAB)

Starting from December I organizer online events where we contribute to open source projects. This report is about the Perl-related contributions in January. BTW the next event is tomorrow. Sign up here


Grants

Maintaining Perl 5 Core (Dave Mitchell): January 2026

by Dave Mitchell

'During January, I finished working on another tranche of ExtUtils::ParseXS fixups.'

PEVANS Core Perl 5: Grant Report for January 2026

by Paul Evans (PEVANS)

This month I managed to finish off a few refalias-related issues, as well as lend some time to help BooK further progress implementing PPC0014.


Perl

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 - 360

by Mohammad Sajid Anwar (MANWAR)

Welcome to a new week with a couple of fun tasks "Text Justifier" and "Word Sorter". 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 - 359

by Mohammad Sajid Anwar (MANWAR)

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

TWC359

by Ali Moradi

Using the power of Perl's capabilities, the provided solution provides an elegant solution to each of the two TWC359 challenges. Task 1 makes efficient use of a concise while loop to compute digital roots and persistence in less median time than most standard solutions would yield. In Task 2, you can see how the use of Perl's global regex substitution provides a very simple way to remove duplicate entries in adjacent positions with just one line of code. From a code implementation point of view, this solution exemplifies what a professional Perl implementation of both tasks would look like.

Root Reduction

by Arne Sommer

This article provides two elegant solutions for the Raku programming language, which illustrate both Raku's clean syntax as well as the practical application of Raku's features. The digital root implementation uses method chaining features of Raku's expressive method chaining. The string reduction solution demonstrates how to use the regular expression and substitution features of Raku efficiently. There are verbose modes for both of these solutions that allow for an easy-to-follow, step-wise transformation of the result.

Perl Weekly Challenge: Week 359

by Jaldhar H. Vyas

The answer presented here provides two great results for the TWC359 problems; both are simple and elegant solutions. The calculation for the digital root solution is driven through the length of the $root (using while length($root) > 1); it is a clever way to leverage counting of the number of persistence and summing all the digits to reduce their overall size into a single digit (the digital root). The string reduction solution is noteworthy due to the way that it has been written in a single line in Perl and uses regex to efficiently match and remove patterns.

Reduced Roots

by Jorg Sommrey

Task 1, Digital Root, uses a Perl implementation with the Math::Prime::Util's todigits and vecsum to effectively calculate roots of various number bases with great efficiency, along with an alternative J solution using the "Fold Single" conjunction for passing through each digit to compute its persistence. Task 2, String Reduction, solutions illustrate a similar range of concise processing with one-line Perl implementations. The J solution had a completely different approach using generalized run-length encoding to implement an algorithm that would work on any type of input.

quick and dirty!

by Luca Ferrari

A robust method has been found for addressing both TWC359 issues and demonstrates a high degree of clean and streamlined implementations across several languages. The explanation of how to calculate the digital root includes two approaches: the first uses the Raku code $root.Str.comb.map (*.Int) and the Perl code split //, $root, to break the digits apart; and the second uses a simple while loop to determine the number of times that digit root has been calculated. The implementation for string reduction demonstrates how well regular expressions can be utilized using the compact pattern s:g/ (.) $0 // in Raku and the approximately identical implementation in Perl, thus removing all adjacent duplicate characters in just one pass.

Perl Weekly Challenge 359

by W Luis Mochan

This article provides ready-to-use versions of the Digital Root and String Reduction programs written in Perl, including a concise example showing what the results should look like. It uses clear, idiomatic programming style while giving short, simple explanations that will help anyone to understand how to implement an additive persistence and regex based string reduction algorithm.

Loops Considered

by Matthias Muth

This clean and clever solution combines methods for both problems into one very helpful implementation. In the first case, digit summation and computing the persistent product were both implemented as a clear, fully-documented do...while construct. In the second case, there is an efficient method of removing all the nested duplicates with a do...while loop while providing an excellent explanation of loop semantics and Perl idioms. The detailed comments for each loop's semantics and the use of Perl idioms give a worthwhile educational opportunity.

Root It All You Reduce

by Packy Anderson (PACKY)

The post examines TWC359 comprehensively and insightfully via 4 programming languages (Recursive & Iterative Solutions). They show their vast knowledge of specific Languages through examples such as; Elixir using Integer.digits(), Raku displaying its fully typed nature, Perl's idiomatic approach with sum-split//, and generator expressions found in Python. The string reduction implementations use regular expressions extensively to reduce complexity and improve performance; especially with regards to the subtle differences between how each implement backreferences and substitutions.

Persistent reduction

by Peter Campbell Smith

This approach is a good example of intentional design and practical implementation. The approach to handling very large integer strings uses the digital root function; the string reduction uses a simple loop. Peter also considers edge cases, such as case insensitivity and non-Latin alphabets, which will improve the overall usability and applicability in the real world.

The Weekly Challenge #359

by Robbie Hatley

These two tasks were solved cleanly by providing clear context for each task with examples demonstrating how the tasks could be solved using idiomatic features of Perl 5.36. The logic used for both tasks can be easily read, and uses the core modules in a logical manner. Each task contains inline comments that describe what is being done and make it easy to follow. The backtracking method of solving the string reduction task using split is a particularly clever and efficient way of achieving a solution to the task.

Roots and Digits

by Roger Bell West (FIREDRAKE)

This blog post clearly presents The Weekly Challenge #359 - Roots and Digits (Digital root task). It is a very clean write-up making use of Raku code and does not use extraneous conversion methods. The attention to algorithm and cross-language consistency creates a very good resource for other participants in the challenge and is an excellent technical overview.

Digital reduction

by Simon Green (SGREEN)

Both parts of The Weekly Challenge #359 are clearly explained, with detailed explanations of the logic behind the solutions and concrete examples to help you understand how each solution works, in either Python or Perl. By providing a solution in both Python and Perl, Simon is able to reach a broader audience by explaining how the digital root and string reduction algorithms work.

I Contain Multitudes

by Yitzchak Scott-Thoennes

In this article, you can find an excellent and easily read comparison of how each of Go, Python and Perl treats returning multiple values from a function, with good examples for each and some commentary on why certain designs are idiomatically preferred in each language, as well as why to use a structured return (structure, tuple, etc.) instead of returning the multiple values returned naked. Overall, this article is a very technically sound and informative read for anyone interested in designing a function across different languages.

Return to Sender

by Yitzchak Scott-Thoennes

This article compares three elegant methods for the string reduction problem. The methods are presented in three different programming languages: Perl (using regular expressions), Python (using recursive regular expressions), and Go (using a stack-based algorithm). Each method has been chosen to demonstrate the strengths of the respective programming language.


Weekly collections

Chat about Perl

WhatsApp

Join the Perl Maven chat group on WhatsApp!

Telegram

Join the Perl Maven chat group on Telegram!


Events

Boston.pm - online

February 10, 2025

Paris.pm monthly meeting

February 11, 2025

Paris.pm monthly meeting

March 11, 2025

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