MESSAGE
| DATE | 2026-02-09 |
| FROM | Gabor Szabo
|
| SUBJECT | Subject: [Hangout - NYLXS] [Perlweekly] #759 - Perl on LinkedIn
|
From hangout-bounces-at-nylxs.com Mon Feb 9 05:44:36 2026 Return-Path: X-Original-To: archive-at-mrbrklyn.com Delivered-To: archive-at-mrbrklyn.com Received: from www2.mrbrklyn.com (www2.mrbrklyn.com [96.57.23.82]) by mrbrklyn.com (Postfix) with ESMTP id D55321640F6; Mon, 9 Feb 2026 05:44:34 -0500 (EST) X-Original-To: hangout-at-www2.mrbrklyn.com Delivered-To: hangout-at-www2.mrbrklyn.com Received: by mrbrklyn.com (Postfix, from userid 1000) id 3FFC71640F5; Mon, 9 Feb 2026 05:44:31 -0500 (EST) Resent-From: Ruben Safir Resent-Date: Mon, 9 Feb 2026 05:44:31 -0500 Resent-Message-ID: <20260209104431.GA23329-at-www2.mrbrklyn.com> Resent-To: hangout-at-mrbrklyn.com X-Original-To: ruben-at-mrbrklyn.com Delivered-To: ruben-at-mrbrklyn.com Received: from s.wrqvtzvf.outbound-mail.sendgrid.net (s.wrqvtzvf.outbound-mail.sendgrid.net [149.72.126.143]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mrbrklyn.com (Postfix) with ESMTPS id 282BB1640EC for ; Mon, 9 Feb 2026 01:47:16 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=szabgab.com; h=content-type:date:from:mime-version:subject:to:cc:content-type:date: from:subject:to; s=s1; bh=dpIS9W2qlWmtnpHJRYz1BahZeeS3cnqDNg8DpGlSlMU=; b=An3GfG8CNIq9efQzScrFXYbZkrScgi61ZD/L4WpvqA2EWxsiwQNNNpAAXU0bey8O3vBw d3jQLdMv3o7CCMZW8pwmqOzN2e5OZnQ76UjmKdStfK7Ung5JD4nn8VsWBdFL8CXL7TgXEq XrGRGwuUQv7ws8ga6zh9seO/5z3cMOllgELUM2+5Fta/pXfDfkbIjS69Y2Jf1pgRrYTsXI OwAoJ90CKtLP7ue8cQZhChG7FgBIHWNQHY5AodBu9+ivdBorchwPCAt3zG4CQ6RBlHz5mR J+4an+gc+hQKs0oCskMnz2NM7lpeFMiFnwBxKW5DmBcA/mS2WswvCbDlyFoI3/hg== Received: by recvd-5cfbd549cb-qnvmg with SMTP id recvd-5cfbd549cb-qnvmg-1-698982F2-2C 2026-02-09 06:47:14.878005993 +0000 UTC m=+83285.252188741 Received: from MjA0MzMyMDc (unknown) by geopod-ismtpd-7 (SG) with HTTP id QVK-HCA5SpmrMgwz51iNgQ Mon, 09 Feb 2026 06:47:14.696 +0000 (UTC) Date: Mon, 09 Feb 2026 06:47:14 +0000 (UTC) From: Gabor Szabo Mime-Version: 1.0 Message-ID: X-SG-EID: =?us-ascii?Q?u001=2EfEeT3imdomNYTgM3CPMr=2F5Dkst8c96g=2FUCTCSTQhFzPFq1p+hf5OYWVNg?= =?us-ascii?Q?tIP=2F6ApeYX=2FpC2EXA4Tg86ZYWUY1S4Tu9g9MwDm?= =?us-ascii?Q?3fixtzpUPtNH27R083uLy6ZiAQErWkHlp9TF=2FtB?= =?us-ascii?Q?P0bgJOZQY8qaCuuJe5AkITl800YaDf63OE2CPzm?= =?us-ascii?Q?LEBbFsN315yNV7FjbAkZnZGX0tEpVEqkWrcm0yh?= =?us-ascii?Q?Q=3D=3D?= To: ruben-at-mrbrklyn.com X-Entity-ID: u001.JvYq+PmxR+Jk4HAvLs9YyA== Subject: [Hangout - NYLXS] [Perlweekly] #759 - Perl on LinkedIn X-BeenThere: hangout-at-nylxs.com X-Mailman-Version: 2.1.30rc1 Precedence: list List-Id: NYLXS Tech Talk and Politics List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: multipart/mixed; boundary="===============0493153006==" Errors-To: hangout-bounces-at-nylxs.com Sender: "Hangout"
--===============0493153006== Content-Type: multipart/alternative; boundary=93c9e0fcd711413649be1a40ab3b9cc92bb3629791125f405c5e79ea1ac6
--93c9e0fcd711413649be1a40ab3b9cc92bb3629791125f405c5e79ea1ac6 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0
Perl Weekly=20
https://perlweekly.com/
You can read the newsletter on the web, if you prefer. https://perlweekly.com/archive/759.html
Hi there!
6 years ago we had an edition in which I wrote a bit about Perl on LinkedIn ( https://perlweekly.com/archive/457.html ). Back then I collected some basic stats about the Perl groups on LinkedIn. I checked them again: The Perl Mongers ( https://www.linkedin.com/groups/40830/ ) group has 7,635 members (down from 8,283). The Perl Developer ( https://www.linkedin.com/groups/3686926/ ) group has 3,587 members (up from 3,122). There is also a group called Perl ( https://www.linkedin.com/groups/106254/ ) with 18,994 that I apparently forgot to mention the last time.
Besides those groups there is also the Perl Maven ( https://www.linkedin.com/showcase/perl-maven/ ) page I maintain with 845 followers and my own personal page ( https://www.linkedin.com/in/szabgab/ ) 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 ( https://www.linkedin.com/in/szabgab/ ). 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 ( https://luma.com/perl-maven ) and not long after that there will be meeting of the Boston Perl Mongers ( https://mobilizon.us/search?search=3DBoston+Perl )
Enjoy your week!
-- Your editor: Gabor Szabo.
Articles
=20 Mojo with WebSocket https://theweeklychallenge.org/blog/mojo-with-websocket/ =20 Known for its real=E2=80=91time web capabilities, Mojo seemed like the pe= rfect framework to experiment with WebSockets. What better way to test it than building a live chat room? --------------
=20 Beautiful Perl feature: BLOCKs https://dev.to/damil/beautiful-perl-feature-blocks-2o4 =20 BLOCK : sequence of statements; Lexical scope; Lexical scopes in Python are not like Perl; Lexical variables; Shadowing variables from higher scopes; Lexical pragmata --------------
=20 Beautiful Perl features - introduction to the series https://dev.to/damil/beautiful-perl-features-introduction-to-the-series-b= 6a =20 Expressiveness of the Perl programming language. Perl vs other languages = : Compare facts, not opinions. --------------
=20 Dancer2 + Dancer2::Plugin::DBIC::Async + HTMX https://theweeklychallenge.org/blog/dancer2-dbic-async-htmx/ =20 =20 --------------
=20 Building a Solana Telemetry Engine with Perl 5.42 (AnyEvent, SQLite WAL) https://www.reddit.com/r/perl/comments/1qwzhc6/building_a_solana_telemetr= y_engine_with_perl_542/ =20 =20 --------------
=20 Fastmail Donates USD 10,000 to The Perl and Raku Foundation https://www.perl.com/article/fastmail-donates-usd-10-000-to-the-perl-and-= raku-foundation/ =20 =20 --------------
=20 Cast-Iron Community: Your Chance to Sponsor TPRC 2026 https://www.perl.com/article/cast-iron-community-your-chance-to-sponsor-t= prc-2026/ =20 'Perl is my cast-iron pan - reliable, versatile, durable, and continues t= o be ever so useful.' --------------
=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Discussion
=20 Beginner struggling with quotes https://www.reddit.com/r/perl/comments/1qwkx82/beginner_struggling_with_q= uotes/ =20 =20 --------------
=20 A day in the life with Perl https://www.reddit.com/r/perl/comments/1qv88wv/a_day_in_the_life_with_per= l/ =20 It is more like a questionnaire, but you can discuss the answers. --------------
=20 Auto format detection with perfidy anyone? https://www.reddit.com/r/perl/comments/1qzq3am/auto_format_detection_with= _perfidy_anyone/ =20 Would you like to have a tool that would look at your code-base and generate a perltidy configuration file that matches it? --------------
=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
CPAN
=20 OSDC Perl 2026.01 report https://szabgab.com/osdc-perl-2026-01 =20 Starting from December I organize online events where we contribute to op= en source projects. This report is about the Perl-related contributions in January. BTW the next event is tomorrow. Sign up here ( https://luma.com/perl-maven ) --------------
=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Grants
=20 Maintaining Perl 5 Core (Dave Mitchell): January 2026 https://news.perlfoundation.org/post/maintaining_perl_dave_mitchell_janua= ry_2026 =20 'During January, I finished working on another tranche of ExtUtils::Parse= XS fixups.' --------------
=20 Maintaining Perl (Tony Cook) January 2026 https://news.perlfoundation.org/post/maintaining_perl_tonyc_january_2026 =20 =20 --------------
=20 PEVANS Core Perl 5: Grant Report for January 2026 https://news.perlfoundation.org/post/pevans_core_dev_january_2026 =20 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. --------------
=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Perl
=20 This week in PSC (214) | 2026-02-02 https://blogs.perl.org/users/psc/2026/02/this-week-in-psc-213-2026-02-02.= html =20 =20 --------------
=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
The Weekly Challenge The Weekly Challenge ( https://theweeklychallenge.org ) by Mohammad Sajid Anwar ( https://manwar.org ) 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. =20 The Weekly Challenge - 360 https://theweeklychallenge.org/blog/perl-weekly-challenge-360 =20 Welcome to a new week with a couple of fun tasks "Text Justifier" and "Wo= rd 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 ( https://theweeklychallenge.org/faq ). --------------
=20 RECAP - The Weekly Challenge - 359 https://theweeklychallenge.org/blog/recap-challenge-359 =20 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. --------------
=20 TWC359 https://deadmarshal.blogspot.com/2026/02/twc359.html =20 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. --------------
=20 Root Reduction https://raku-musings.com/root-reduction.html =20 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. --------------
=20 Perl Weekly Challenge: Week 359 https://www.braincells.com/perl/2026/02/perl_weekly_challenge_week_359.ht= ml =20 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. --------------
=20 Reduced Roots https://github.sommrey.de/the-bears-den/2026/02/06/ch-359.html =20 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. --------------
=20 quick and dirty! https://fluca1978.github.io/2026/02/06/PerlWeeklyChallenge359.html =20 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. --------------
=20 Perl Weekly Challenge 359 https://wlmb.github.io/2026/02/02/PWC359/ =20 This article provides ready-to-use versions of the Digital Root and Strin= g 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. --------------
=20 Loops Considered https://github.com/MatthiasMuth/perlweeklychallenge-club/tree/muthm-359/c= hallenge-359/matthias-muth#readme =20 This clean and clever solution combines methods for both problems into on= e 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. --------------
=20 Root It All You Reduce https://packy.dardan.com/b/ia =20 The post examines TWC359 comprehensively and insightfully via 4 programmi= ng 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. --------------
=20 Persistent reduction http://ccgi.campbellsmiths.force9.co.uk/challenge/359 =20 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. --------------
=20 The Weekly Challenge #359 https://hatley-software.blogspot.com/2026/02/robbie-hatleys-solutions-in-= perl-for.html =20 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=C2=A0inline comments that describe what is being done and make i= t 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. --------------
=20 Roots and Digits https://blog.firedrake.org/archive/2026/02/The_Weekly_Challenge_359__Root= s_and_Digits.html =20 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. --------------
=20 Digital reduction https://dev.to/simongreennet/weekly-challenge-digital-reduction-1aci =20 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. --------------
=20 I Contain Multitudes https://blog.ysth.info/i-contain-multitudes-returning-multiple-values-in-= go-python-and-perl/ =20 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. --------------
=20 Return to Sender https://blog.ysth.info/return-to-sender-rejecting-letters-three-different= -ways-weekly-challenge-359-part-2/ =20 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. --------------
=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Weekly collections
=20 NICEPERL's lists http://niceperl.blogspot.com/ =20 Great CPAN modules released last week ( https://niceperl.blogspot.com/2026/02/dlxxxvi-10-great-cpan-modules-relea sed.html ); MetaCPAN weekly report ( https://niceperl.blogspot.com/2026/02/dcxxiv-metacpan-weekly-report-xsjit .html ). --------------
=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Chat about Perl
=20 WhatsApp https://chat.whatsapp.com/LRrkZsSRDvGLLwppyLnKHy =20 Join the Perl Maven chat group on WhatsApp! --------------
=20 Telegram https://t.me/PerlMaven =20 Join the Perl Maven chat group on Telegram! --------------
=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Events
=20 Perl Maven online: Code-reading and Open Source contribution https://luma.com/perl-maven =20 February 10, 2025 --------------
=20 Boston.pm - online https://mobilizon.us/search?search=3DBoston+Perl =20 February 10, 2025 --------------
=20 Paris.pm monthly meeting https://paris.mongueurs.net/ =20 February 11, 2025 --------------
=20 Paris.pm monthly meeting https://paris.mongueurs.net/ =20 March 11, 2025 --------------
=20 German Perl/Raku Workshop 2026 in Berlin https://act.yapc.eu/gpw2026/ =20 March 16-18, 2025 --------------
=20 The Perl and Raku Conference 2026 https://tprc.us/tprc-2026-gsp/ =20 June 26-29, 2026, Greenville, SC, USA --------------
=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
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 ( https://perlweekly.com/archive/ ) of a= ll the issues.
Reading this as a non-subscriber? Join us free of charge. https://perlweekl= y.com/
(C) Copyright Gabor Szabo https://szabgab.com/ The articles are copyright the respective authors.
You can freely redistribute this message if you keep the whole message intact, including the Copyright notice and this text.
If you don't want to receive mails any more you can unsubscribe here: https://perlweekly.com/unsubscribe.html
--93c9e0fcd711413649be1a40ab3b9cc92bb3629791125f405c5e79ea1ac6 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8 Mime-Version: 1.0
1.0, user-scalable=3Dyes"> Perl Weekly Issue #759 - 2026-02-09 - Perl on LinkedIn
color=3D"#ffffff">
background-color: #004065; color: #FFF; text-decoration: none; font-size: 40px; font-weight: bold; font-family: Gadget; =20 border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; border: 1px solid #000; padding: 10px; ">Perl Weekly =20
style=3D"border-bottom: 1px solid #ccc; padding-bottom: 8px; font-size: 18px;"> Issue #759 - 2026-02-09 - Perl on LinkedIn
latest | https://perlweekly.com/archive">archive | edited by szabgab.com/">Gabor Szabo
=20 =20
=20
|
|
Articles =20 | =20 | m/img/mohammad_anwar.png" title=3D"Mohammad Sajid Anwar" width=3D"80" /> | =20 | =20 | m/img/laurent_dami.png" title=3D"Laurent Dami" width=3D"80" /> | =20 | =20 | m/img/laurent_dami.png" title=3D"Laurent Dami" width=3D"80" /> | =20 | =20 | m/img/mohammad_anwar.png" title=3D"Mohammad Sajid Anwar" width=3D"80" /> | =20 | =20 =20 | =20 | m/img/olaf_alders.png" title=3D"Olaf Alders" width=3D"80" /> | =20 | =20 =20 | =20 =20
Discussion =20 | =20 =20 | =20 =20 | =20 =20 | =20 =20
CPAN =20 | =20 | m/img/gabor_szabo.png" title=3D"Gabor Szabo" width=3D"80" /> | =20 | =20 =20
Grants =20 | =20 =20 | =20 =20 | =20 | m/img/paul_evans.png" title=3D"Paul Evans" width=3D"80" /> | =20 | =20 =20
Perl =20 | =20 =20 | =20 =20
The Weekly Chall= enge =20 nge.org">The Weekly Challenge by Mohamma= d 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 o= ne champion at the end of the month from among all of the contributors duri= ng the month, thanks to the sponsor Lance Wicks. =20 | =20 | m/img/mohammad_anwar.png" title=3D"Mohammad Sajid Anwar" width=3D"80" /> | =20 | =20 | m/img/mohammad_anwar.png" title=3D"Mohammad Sajid Anwar" width=3D"80" /> | =20 | =20 =20 > tml" style=3D" font-size: 18px; font-weight: bold; ">TWC359 =20 by Ali Moradi
style=3D"font-size: 16px"> Using the power of Perl's capabilities, the provided solut= ion 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 prov= ides a very simple way to remove duplicate entries in adjacent positions wi= th just one line of code. From a code implementation point of view, this so= lution exemplifies what a professional Perl implementation of both tasks wo= uld look like. =20 =20 | =20 | =20 =20 > le=3D" font-size: 18px; font-weight: bold; ">Root Reduction =20 by ings.com/">Arne Sommer
=3D"font-size: 16px"> This article provides two elegant solutions for the Raku p= rogramming language, which illustrate both Raku's clean syntax as well as t= he practical application of Raku's features. The digital root implementatio= n uses method chaining features of Raku's expressive method chaining. The s= tring reduction solution demonstrates how to use the regular expression and= substitution features of Raku efficiently. There are verbose modes for bot= h of these solutions that allow for an easy-to-follow, step-wise transforma= tion of the result. =20 | m/img/arne-sommer.jpeg" title=3D"Arne Sommer" width=3D"80" /> | =20 | =20 =20 > ly_challenge_week_359.html" style=3D" font-size: 18px; font-weight: bold; ">Perl Weekly Challenge: Week 359 =20 by Jaldhar H. Vyas =
The answer presented here provides two great results for t= he TWC359 problems; both are simple and elegant solutions. The calculation = for the digital root solution is driven through the length of the $root (us= ing while length($root) > 1); it is a clever way to leverage counting of th= e 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 P= erl and uses regex to efficiently match and remove patterns.
=20 =20 | =20 | =20 =20 > 6/ch-359.html" style=3D" font-size: 18px; font-weight: bold; ">Reduced Roots =20 by ommrey.de/">Jorg Sommrey
e=3D"font-size: 16px"> Task 1, Digital Root, uses a Perl implementation with the = Math::Prime::Util's todigits and vecsum to effectively calculate roots of v= arious number bases with great efficiency, along with an alternative J solu= tion using the "Fold Single" conjunction for passing through each digit to = compute its persistence. Task 2, String Reduction, solutions illustrate a s= imilar 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. =20 =20 | =20 | =20 =20 > Challenge359.html" style=3D" font-size: 18px; font-weight: bold; ">quick and dirty! =20 by .blogspot.com">Luca Ferrari
tyle=3D"font-size: 16px"> A robust method has been found for addressing both TWC359 = issues and demonstrates a high degree of clean and streamlined implementati= ons across several languages. The explanation of how to calculate the digit= al root includes two approaches: the first uses the Raku code $root.Str.com= b.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 t= hat digit root has been calculated. The implementation for string reduction= demonstrates how well regular expressions can be utilized using the compac= t pattern s:g/ (.) $0 // in Raku and the approximately identical implementa= tion in Perl, thus removing all adjacent duplicate characters in just one p= ass. =20 =20 | =20 | =20 =20 > =3D" font-size: 18px; font-weight: bold; ">Perl Weekly Challenge 359 =20 by hub.io/">W Luis Mochan
=3D"font-size: 16px"> This article provides ready-to-use versions of the Digital= Root and String Reduction programs written in Perl, including a concise ex= ample showing what the results should look like. It uses clear, idiomatic p= rogramming style while giving short, simple explanations that will help any= one to understand how to implement an additive persistence and regex based = string reduction algorithm. =20 | m/img/luis-mochan.jpeg" title=3D"W Luis Mochan" width=3D"80" /> | =20 | =20 =20 > ge-club/tree/muthm-359/challenge-359/matthias-muth#readme" style=3D" font-size: 18px; font-weight: bold; ">Loops Considered =20 by Matthias Muth =
This clean and clever solution combines methods for both p= roblems into one very helpful implementation. In the first case, digit summ= ation and computing the persistent product were both implemented as a clear= , fully-documented do...while construct. In the second case, there is an ef= ficient 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 idiom= s give a worthwhile educational opportunity.
=20 =20 | =20 | =20 =20 > font-size: 18px; font-weight: bold; ">Root It All You Reduce =20 by rl.org/users/packy_anderson/">Packy Anderson (<= a href=3D"https://metacpan.org/author/PACKY">PACKY) = span> The post examines TWC359 comprehensively and insightfully = via 4 programming languages (Recursive & Iterative Solutions). They show th= eir vast knowledge of specific Languages through examples such as; Elixir u= sing Integer.digits(), Raku displaying its fully typed nature, Perl's idiom= atic 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 substituti= ons.
=20
| m/img/packy-anderson.jpeg" title=3D"Packy Anderson" width=3D"80" /> | =20 | =20 | m/img/peter-campbell-smith.png" title=3D"Peter Campbell Smith" width=3D"80"= /> | =20 | =20 =20 | =20 =20 | =20 | m/img/simon-green.png" title=3D"Simon Green" width=3D"80" /> | =20 | =20 =20 > ning-multiple-values-in-go-python-and-perl/" style=3D" font-size: 18px; font-weight: bold; ">I Contain Multitudes =20 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 va= lues from a function, with good examples for each and some commentary on wh= y certain designs are idiomatically preferred in each language, as well as = why to use a structured return (structure, tuple, etc.) instead of returnin= g the multiple values returned naked. Overall, this article is a very techn= ically sound and informative read for anyone interested in designing a func= tion across different languages.
=20 =20 | =20 | =20 =20 | =20 =20
Weekly collectio= ns =20 | =20 =20 | =20 =20
Chat about Perl<= /div> =20 | =20 =20 | =20 =2--===============0493153006== Content-Type: multipart/alternative; boundary=93c9e0fcd711413649be1a40ab3b9cc92bb3629791125f405c5e79ea1ac6
--93c9e0fcd711413649be1a40ab3b9cc92bb3629791125f405c5e79ea1ac6 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0
Perl Weekly=20
https://perlweekly.com/
You can read the newsletter on the web, if you prefer. https://perlweekly.com/archive/759.html
Hi there!
6 years ago we had an edition in which I wrote a bit about Perl on LinkedIn ( https://perlweekly.com/archive/457.html ). Back then I collected some basic stats about the Perl groups on LinkedIn. I checked them again: The Perl Mongers ( https://www.linkedin.com/groups/40830/ ) group has 7,635 members (down from 8,283). The Perl Developer ( https://www.linkedin.com/groups/3686926/ ) group has 3,587 members (up from 3,122). There is also a group called Perl ( https://www.linkedin.com/groups/106254/ ) with 18,994 that I apparently forgot to mention the last time.
Besides those groups there is also the Perl Maven ( https://www.linkedin.com/showcase/perl-maven/ ) page I maintain with 845 followers and my own personal page ( https://www.linkedin.com/in/szabgab/ ) 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 ( https://www.linkedin.com/in/szabgab/ ). 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 ( https://luma.com/perl-maven ) and not long after that there will be meeting of the Boston Perl Mongers ( https://mobilizon.us/search?search=3DBoston+Perl )
Enjoy your week!
-- Your editor: Gabor Szabo.
Articles
=20 Mojo with WebSocket https://theweeklychallenge.org/blog/mojo-with-websocket/ =20 Known for its real=E2=80=91time web capabilities, Mojo seemed like the pe= rfect framework to experiment with WebSockets. What better way to test it than building a live chat room? --------------
=20 Beautiful Perl feature: BLOCKs https://dev.to/damil/beautiful-perl-feature-blocks-2o4 =20 BLOCK : sequence of statements; Lexical scope; Lexical scopes in Python are not like Perl; Lexical variables; Shadowing variables from higher scopes; Lexical pragmata --------------
=20 Beautiful Perl features - introduction to the series https://dev.to/damil/beautiful-perl-features-introduction-to-the-series-b= 6a =20 Expressiveness of the Perl programming language. Perl vs other languages = : Compare facts, not opinions. --------------
=20 Dancer2 + Dancer2::Plugin::DBIC::Async + HTMX https://theweeklychallenge.org/blog/dancer2-dbic-async-htmx/ =20 =20 --------------
=20 Building a Solana Telemetry Engine with Perl 5.42 (AnyEvent, SQLite WAL) https://www.reddit.com/r/perl/comments/1qwzhc6/building_a_solana_telemetr= y_engine_with_perl_542/ =20 =20 --------------
=20 Fastmail Donates USD 10,000 to The Perl and Raku Foundation https://www.perl.com/article/fastmail-donates-usd-10-000-to-the-perl-and-= raku-foundation/ =20 =20 --------------
=20 Cast-Iron Community: Your Chance to Sponsor TPRC 2026 https://www.perl.com/article/cast-iron-community-your-chance-to-sponsor-t= prc-2026/ =20 'Perl is my cast-iron pan - reliable, versatile, durable, and continues t= o be ever so useful.' --------------
=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Discussion
=20 Beginner struggling with quotes https://www.reddit.com/r/perl/comments/1qwkx82/beginner_struggling_with_q= uotes/ =20 =20 --------------
=20 A day in the life with Perl https://www.reddit.com/r/perl/comments/1qv88wv/a_day_in_the_life_with_per= l/ =20 It is more like a questionnaire, but you can discuss the answers. --------------
=20 Auto format detection with perfidy anyone? https://www.reddit.com/r/perl/comments/1qzq3am/auto_format_detection_with= _perfidy_anyone/ =20 Would you like to have a tool that would look at your code-base and generate a perltidy configuration file that matches it? --------------
=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
CPAN
=20 OSDC Perl 2026.01 report https://szabgab.com/osdc-perl-2026-01 =20 Starting from December I organize online events where we contribute to op= en source projects. This report is about the Perl-related contributions in January. BTW the next event is tomorrow. Sign up here ( https://luma.com/perl-maven ) --------------
=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Grants
=20 Maintaining Perl 5 Core (Dave Mitchell): January 2026 https://news.perlfoundation.org/post/maintaining_perl_dave_mitchell_janua= ry_2026 =20 'During January, I finished working on another tranche of ExtUtils::Parse= XS fixups.' --------------
=20 Maintaining Perl (Tony Cook) January 2026 https://news.perlfoundation.org/post/maintaining_perl_tonyc_january_2026 =20 =20 --------------
=20 PEVANS Core Perl 5: Grant Report for January 2026 https://news.perlfoundation.org/post/pevans_core_dev_january_2026 =20 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. --------------
=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Perl
=20 This week in PSC (214) | 2026-02-02 https://blogs.perl.org/users/psc/2026/02/this-week-in-psc-213-2026-02-02.= html =20 =20 --------------
=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
The Weekly Challenge The Weekly Challenge ( https://theweeklychallenge.org ) by Mohammad Sajid Anwar ( https://manwar.org ) 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. =20 The Weekly Challenge - 360 https://theweeklychallenge.org/blog/perl-weekly-challenge-360 =20 Welcome to a new week with a couple of fun tasks "Text Justifier" and "Wo= rd 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 ( https://theweeklychallenge.org/faq ). --------------
=20 RECAP - The Weekly Challenge - 359 https://theweeklychallenge.org/blog/recap-challenge-359 =20 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. --------------
=20 TWC359 https://deadmarshal.blogspot.com/2026/02/twc359.html =20 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. --------------
=20 Root Reduction https://raku-musings.com/root-reduction.html =20 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. --------------
=20 Perl Weekly Challenge: Week 359 https://www.braincells.com/perl/2026/02/perl_weekly_challenge_week_359.ht= ml =20 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. --------------
=20 Reduced Roots https://github.sommrey.de/the-bears-den/2026/02/06/ch-359.html =20 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. --------------
=20 quick and dirty! https://fluca1978.github.io/2026/02/06/PerlWeeklyChallenge359.html =20 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. --------------
=20 Perl Weekly Challenge 359 https://wlmb.github.io/2026/02/02/PWC359/ =20 This article provides ready-to-use versions of the Digital Root and Strin= g 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. --------------
=20 Loops Considered https://github.com/MatthiasMuth/perlweeklychallenge-club/tree/muthm-359/c= hallenge-359/matthias-muth#readme =20 This clean and clever solution combines methods for both problems into on= e 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. --------------
=20 Root It All You Reduce https://packy.dardan.com/b/ia =20 The post examines TWC359 comprehensively and insightfully via 4 programmi= ng 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. --------------
=20 Persistent reduction http://ccgi.campbellsmiths.force9.co.uk/challenge/359 =20 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. --------------
=20 The Weekly Challenge #359 https://hatley-software.blogspot.com/2026/02/robbie-hatleys-solutions-in-= perl-for.html =20 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=C2=A0inline comments that describe what is being done and make i= t 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. --------------
=20 Roots and Digits https://blog.firedrake.org/archive/2026/02/The_Weekly_Challenge_359__Root= s_and_Digits.html =20 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. --------------
=20 Digital reduction https://dev.to/simongreennet/weekly-challenge-digital-reduction-1aci =20 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. --------------
=20 I Contain Multitudes https://blog.ysth.info/i-contain-multitudes-returning-multiple-values-in-= go-python-and-perl/ =20 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. --------------
=20 Return to Sender https://blog.ysth.info/return-to-sender-rejecting-letters-three-different= -ways-weekly-challenge-359-part-2/ =20 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. --------------
=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Weekly collections
=20 NICEPERL's lists http://niceperl.blogspot.com/ =20 Great CPAN modules released last week ( https://niceperl.blogspot.com/2026/02/dlxxxvi-10-great-cpan-modules-relea sed.html ); MetaCPAN weekly report ( https://niceperl.blogspot.com/2026/02/dcxxiv-metacpan-weekly-report-xsjit .html ). --------------
=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Chat about Perl
=20 WhatsApp https://chat.whatsapp.com/LRrkZsSRDvGLLwppyLnKHy =20 Join the Perl Maven chat group on WhatsApp! --------------
=20 Telegram https://t.me/PerlMaven =20 Join the Perl Maven chat group on Telegram! --------------
=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Events
=20 Perl Maven online: Code-reading and Open Source contribution https://luma.com/perl-maven =20 February 10, 2025 --------------
=20 Boston.pm - online https://mobilizon.us/search?search=3DBoston+Perl =20 February 10, 2025 --------------
=20 Paris.pm monthly meeting https://paris.mongueurs.net/ =20 February 11, 2025 --------------
=20 Paris.pm monthly meeting https://paris.mongueurs.net/ =20 March 11, 2025 --------------
=20 German Perl/Raku Workshop 2026 in Berlin https://act.yapc.eu/gpw2026/ =20 March 16-18, 2025 --------------
=20 The Perl and Raku Conference 2026 https://tprc.us/tprc-2026-gsp/ =20 June 26-29, 2026, Greenville, SC, USA --------------
=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
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 ( https://perlweekly.com/archive/ ) of a= ll the issues.
Reading this as a non-subscriber? Join us free of charge. https://perlweekl= y.com/
(C) Copyright Gabor Szabo https://szabgab.com/ The articles are copyright the respective authors.
You can freely redistribute this message if you keep the whole message intact, including the Copyright notice and this text.
If you don't want to receive mails any more you can unsubscribe here: https://perlweekly.com/unsubscribe.html
--93c9e0fcd711413649be1a40ab3b9cc92bb3629791125f405c5e79ea1ac6 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8 Mime-Version: 1.0
1.0, user-scalable=3Dyes"> Perl Weekly Issue #759 - 2026-02-09 - Perl on LinkedIn
color=3D"#ffffff">
background-color: #004065; color: #FFF; text-decoration: none; font-size: 40px; font-weight: bold; font-family: Gadget; =20 border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; border: 1px solid #000; padding: 10px; ">Perl Weekly =20
style=3D"border-bottom: 1px solid #ccc; padding-bottom: 8px; font-size: 18px;"> Issue #759 - 2026-02-09 - Perl on LinkedIn
latest | https://perlweekly.com/archive">archive | edited by szabgab.com/">Gabor Szabo
=20 =20
=20
|
|
Articles =20 | =20 | m/img/mohammad_anwar.png" title=3D"Mohammad Sajid Anwar" width=3D"80" /> | =20 | =20 | m/img/laurent_dami.png" title=3D"Laurent Dami" width=3D"80" /> | =20 | =20 | m/img/laurent_dami.png" title=3D"Laurent Dami" width=3D"80" /> | =20 | =20 | m/img/mohammad_anwar.png" title=3D"Mohammad Sajid Anwar" width=3D"80" /> | =20 | =20 =20 | =20 | m/img/olaf_alders.png" title=3D"Olaf Alders" width=3D"80" /> | =20 | =20 =20 | =20 =20
Discussion =20 | =20 =20 | =20 =20 | =20 =20 | =20 =20
CPAN =20 | =20 | m/img/gabor_szabo.png" title=3D"Gabor Szabo" width=3D"80" /> | =20 | =20 =20
Grants =20 | =20 =20 | =20 =20 | =20 | m/img/paul_evans.png" title=3D"Paul Evans" width=3D"80" /> | =20 | =20 =20
Perl =20 | =20 =20 | =20 =20
The Weekly Chall= enge =20 nge.org">The Weekly Challenge by Mohamma= d 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 o= ne champion at the end of the month from among all of the contributors duri= ng the month, thanks to the sponsor Lance Wicks. =20 | =20 | m/img/mohammad_anwar.png" title=3D"Mohammad Sajid Anwar" width=3D"80" /> | =20 | =20 | m/img/mohammad_anwar.png" title=3D"Mohammad Sajid Anwar" width=3D"80" /> | =20 | =20 =20 > tml" style=3D" font-size: 18px; font-weight: bold; ">TWC359 =20 by Ali Moradi
style=3D"font-size: 16px"> Using the power of Perl's capabilities, the provided solut= ion 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 prov= ides a very simple way to remove duplicate entries in adjacent positions wi= th just one line of code. From a code implementation point of view, this so= lution exemplifies what a professional Perl implementation of both tasks wo= uld look like. =20 =20 | =20 | =20 =20 > le=3D" font-size: 18px; font-weight: bold; ">Root Reduction =20 by ings.com/">Arne Sommer
=3D"font-size: 16px"> This article provides two elegant solutions for the Raku p= rogramming language, which illustrate both Raku's clean syntax as well as t= he practical application of Raku's features. The digital root implementatio= n uses method chaining features of Raku's expressive method chaining. The s= tring reduction solution demonstrates how to use the regular expression and= substitution features of Raku efficiently. There are verbose modes for bot= h of these solutions that allow for an easy-to-follow, step-wise transforma= tion of the result. =20 | m/img/arne-sommer.jpeg" title=3D"Arne Sommer" width=3D"80" /> | =20 | =20 =20 > ly_challenge_week_359.html" style=3D" font-size: 18px; font-weight: bold; ">Perl Weekly Challenge: Week 359 =20 by Jaldhar H. Vyas =
The answer presented here provides two great results for t= he TWC359 problems; both are simple and elegant solutions. The calculation = for the digital root solution is driven through the length of the $root (us= ing while length($root) > 1); it is a clever way to leverage counting of th= e 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 P= erl and uses regex to efficiently match and remove patterns.
=20 =20 | =20 | =20 =20 > 6/ch-359.html" style=3D" font-size: 18px; font-weight: bold; ">Reduced Roots =20 by ommrey.de/">Jorg Sommrey
e=3D"font-size: 16px"> Task 1, Digital Root, uses a Perl implementation with the = Math::Prime::Util's todigits and vecsum to effectively calculate roots of v= arious number bases with great efficiency, along with an alternative J solu= tion using the "Fold Single" conjunction for passing through each digit to = compute its persistence. Task 2, String Reduction, solutions illustrate a s= imilar 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. =20 =20 | =20 | =20 =20 > Challenge359.html" style=3D" font-size: 18px; font-weight: bold; ">quick and dirty! =20 by .blogspot.com">Luca Ferrari
tyle=3D"font-size: 16px"> A robust method has been found for addressing both TWC359 = issues and demonstrates a high degree of clean and streamlined implementati= ons across several languages. The explanation of how to calculate the digit= al root includes two approaches: the first uses the Raku code $root.Str.com= b.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 t= hat digit root has been calculated. The implementation for string reduction= demonstrates how well regular expressions can be utilized using the compac= t pattern s:g/ (.) $0 // in Raku and the approximately identical implementa= tion in Perl, thus removing all adjacent duplicate characters in just one p= ass. =20 =20 | =20 | =20 =20 > =3D" font-size: 18px; font-weight: bold; ">Perl Weekly Challenge 359 =20 by hub.io/">W Luis Mochan
=3D"font-size: 16px"> This article provides ready-to-use versions of the Digital= Root and String Reduction programs written in Perl, including a concise ex= ample showing what the results should look like. It uses clear, idiomatic p= rogramming style while giving short, simple explanations that will help any= one to understand how to implement an additive persistence and regex based = string reduction algorithm. =20 | m/img/luis-mochan.jpeg" title=3D"W Luis Mochan" width=3D"80" /> | =20 | =20 =20 > ge-club/tree/muthm-359/challenge-359/matthias-muth#readme" style=3D" font-size: 18px; font-weight: bold; ">Loops Considered =20 by Matthias Muth =
This clean and clever solution combines methods for both p= roblems into one very helpful implementation. In the first case, digit summ= ation and computing the persistent product were both implemented as a clear= , fully-documented do...while construct. In the second case, there is an ef= ficient 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 idiom= s give a worthwhile educational opportunity.
=20 =20 | =20 | =20 =20 > font-size: 18px; font-weight: bold; ">Root It All You Reduce =20 by rl.org/users/packy_anderson/">Packy Anderson (<= a href=3D"https://metacpan.org/author/PACKY">PACKY) = span> The post examines TWC359 comprehensively and insightfully = via 4 programming languages (Recursive & Iterative Solutions). They show th= eir vast knowledge of specific Languages through examples such as; Elixir u= sing Integer.digits(), Raku displaying its fully typed nature, Perl's idiom= atic 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 substituti= ons.
=20
| m/img/packy-anderson.jpeg" title=3D"Packy Anderson" width=3D"80" /> | =20 | =20 | m/img/peter-campbell-smith.png" title=3D"Peter Campbell Smith" width=3D"80"= /> | =20 | =20 =20 | =20 =20 | =20 | m/img/simon-green.png" title=3D"Simon Green" width=3D"80" /> | =20 | =20 =20 > ning-multiple-values-in-go-python-and-perl/" style=3D" font-size: 18px; font-weight: bold; ">I Contain Multitudes =20 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 va= lues from a function, with good examples for each and some commentary on wh= y certain designs are idiomatically preferred in each language, as well as = why to use a structured return (structure, tuple, etc.) instead of returnin= g the multiple values returned naked. Overall, this article is a very techn= ically sound and informative read for anyone interested in designing a func= tion across different languages.
=20 =20 | =20 | =20 =20 | =20 =20
Weekly collectio= ns =20 | =20 =20 | =20 =20
Chat about Perl<= /div> =20 | =20 =20 | =20
|
 |
|
|
 |
 |
|
|
|
|