|
Perl Weekly
Issue #759 - 2026-02-09 - Perl on LinkedIn
latest | archive | edited by Gabor Szabo
|
|
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
|
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?
|
|
|
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
|
|
|
by Laurent Dami (DAMI)
Expressiveness of the Perl programming language. Perl vs other languages : Compare facts, not opinions.
|
|
|
|
|
|
|
|
|
by Olaf Alders (OALDERS)
'Perl is my cast-iron pan - reliable, versatile, durable, and continues to be ever so useful.'
|
|
|
Discussion
|
|
|
It is more like a questionnaire, but you can discuss the answers.
|
|
Would you like to have a tool that would look at your code-base and generate a perltidy configuration file that matches it?
|
|
CPAN
|
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
|
by Dave Mitchell
'During January, I finished working on another tranche of ExtUtils::ParseXS fixups.'
|
|
|
|
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.
|
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.
|
|
|
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.
|
|
|
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.
|
|
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.
|
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
|
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.
|
|
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.
|
|
|
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.
|
|
|
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.
|
|
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.
|
|
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.
|
|
|
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.
|
|
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
|
Join the Perl Maven chat group on WhatsApp!
|
|
Join the Perl Maven chat group on Telegram!
|
|
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!
|