Patreon eh?

I read today's Perl Weekly and it suggested supporting module authors on patreon. Figured I would give it a try.

I maintain several perl modules, if you depend on any (Such As Test-Simple, Test2, or yath) here is a way to show your support :-)

BLOG: The Weekly Challenge #072

LWN: On Perl 7 and the Perl Steering Committee

LWN has covered an email from Rjb's to perl5-porters

Read on:

Perl Weekly Challenge 72: One-Liners for Trailing Zeros and Line Ranges

These are some answers to the Week 72 of the Perl Weekly Challenge organized by Mohammad S. Anwar.

Spoiler Alert: This weekly challenge deadline is due in a few hours. This blog post offers some solutions to this challenge, please don’t read on if you intend to complete the challenge on your own.

Since both tasks in this week challenge are quite simple, I decided to use only one-liners to solve each task, both in Raku and in Perl.

Task 1: Trailing Zeros

You are given a positive integer $N (<= 10).

Write a script to print number of trailing zeroes in $N!.

Example 1:

Input: $N = 10
Output: 2 as $N! = 3628800 has 2 trailing zeroes

Example 2

Input: $N = 7
Output: 1 as $N! = 5040 has 1 trailing zero

Example 3:

Supporting Perl-related creators via Patreon

Yesterday I posted about this in the Perl Weekly newsletter and both Mohammad and myself got 10 new supporters. This is awesome.

There are not many ways to express the fact that you really value the work of someone.
You can send them postcards or thank-you notes, but when was the last time you remembered to do that?

Right, I also keep forgetting to thank the people who create all the free and awesome stuff I use.

Giving money as a way to express your thanks is frowned upon by many people, but trust me, the people who open an account on Patreon to make it easy to donate them money will appreciate it.

In any case it is way better than not saying anything.

What is Patreon?

Patreon is a service where you can give a monthly donation to your favourite creator. Donations can be as low as $1 / month.

Patreon and Perl

I've identified 3 Patreon accounts related to Perl:

Thank you for the support

Inspired by the blog by Gabor Szabo, I am writing this blog to thank all the supporters on Patreon. I would also like to thank Gabor Szabo for the support and guidance. I wouldn't have come this far without your support.

I still can't believe there are people out there willing to support me. Although I knew about Patreon but never had the courage to go public.

I remember my first contribution Test::Excel to CPAN was uploaded on 13th Aug 2010. The second came within 2 months, on 25th Oct 2010, Map::Tube. These 2 are still very close to me out of 85 contributions to CPAN till date. As of today, there 39 maps created using the library by fellow contributors. You can find them on Meta CPAN under the namespace Map::Tube::*.

Looking at the CPAN author page, I find some very useful distributions that I adopted in the past e.g. PDF::Create, XML::XPath and SVG.

Perl7 is a fork of values

Before reading this, you should watch this video where Bryan Cantrill explains a value-conflict between Joyent and Node.js, I believe we have a similar problem.

In it he defines a list of project values:


All these values are important - but they are in tension. In the end one has to choose between them.

Perl's has traditionally prioritized certain values over these others, and in my experience these are:

  • Expressiveness
  • Extensibility
  • Stability

Perl Weekly Challenge 71: Peak Elements and Trim Linked List

These are some answers to the Week 71 of the Perl Weekly Challenge organized by Mohammad S. Anwar.

Task 1: Peak Elements

You are given positive integer $N (>1).

Write a script to create an array of size $N with random unique elements between 1 and 50.

In the end it should print peak elements in the array, if found.

An array element is called peak if it is bigger than it’s neighbour.

Example 1:

Array: [ 18, 45, 38, 25, 10, 7, 21, 6, 28, 48 ]
Peak: [ 48, 45, 21 ]

Example 2:

Array: [ 47, 11, 32, 8, 1, 9, 39, 14, 36, 23 ]
Peak: [ 47, 32, 39, 36 ]

The specification somewhat lacks precision, but the examples are clear enough to clarify.

Peak Elements in Raku

Polling for fun and engagement

I've been posting some Perl related polls in Perl Programmers over the last few weeks. Despite the obvious weaknesses in the sampling method, they've provided some good insights and great talking points.

Here's some results as of this afternoon. People can still respond to these polls.

Regarding area's where Perl could help out:
This surprised me, I didn't expect Performance Monitoring to come out on top.

Regarding what Perl is being run on:
This didn't surprise me at all. The weakness in this poll is that we didn't find out if people are using their own App Perl or the System Perl. But we know that CentOS+RHEL & Debian+Ubuntu are what the majority are running, with Windows and MacOS being important too.

Regarding the question of Perl's logo:
Folks seem to be happy with the Raptor and feel a bit of a facelift is all that's needed. My favorite suggestion (in the comments) was for a new Perl7 logo was a bike shed.

I will use more polls to dive deeper in the above in the near future. Please come Join Us

Next stable DBD::SQLite will be released at the end of August

DBD::SQLite 1.65_03 (with SQLite 3.32.3) is a release candidate for the next stable DBD::SQLite. There are no big changes, maybe except for the ncrease of the default upper bound on the number of parameters from 999 to 32766 (since SQLite 3.32).

I'll wait for about a month as always, and release 1.66 at the end of August if there's no blocker nor request to wait for more. Thank you for your patience.

The Swiss Raku and Perl Miniconf 2020 Will Not Take Place

Hello from the Swiss Alps, where we have been working from home and avoiding all but essential trips out like so many others over the last few months.

The current situation has led to the cancellation of several community events, including this year's main Raku and Perl conferences in North American and Europe. We have been following the situation closely in Switzerland, and have also decided not to go ahead with our event this year.

We will be following the news, recommendations, and restrictions from The Federal Council and may have a smaller meetup sometime in late Summer/early Autumn. This will be an informal event with no expectation of presentations/workshops/etc. Details will be announced later, and probably at relatively short notice.

Hoping you are safe and well, and that we will meet again in Switzerland next year.

The Swiss Raku and Perl Miniconf organisers. Meeting, Tuesday, July 14th, 2020

The Quarterly Meeting is tonight, 7 PM PDT.

Because of the pesky disease that's been spreading, we'll be gathering online. The agenda for tonight is: Normal conversation and seeing how everyone is doing; if there are any questions that need to be answered, we'll do that; followed by jumping into our presentations. We have at least three, though if anybody would like to step up and add another to the mix, please let me know.

Meeting ID: 896 3919 9931 Link to the meeting:

Perl Mongers, Unite!

Promote your next Perl Mongers meeting on The Meetings Page at The Wiki.

Detail: is great for resources, but there's no obvious way to promote your meeting. Not that there needed to be when the meetings were local events, but now, thanks to Covid-19, these meetings are taking place virtually. Why limit yourself to your local members? I am convinced that there are plenty of pockets of mongers that, if united and connected, would make the world realize that Perl Is Not Dead.

If you are a Perl Monger organizer, consider putting your meeting on the wiki page. Let's see just how many active orgs we have!

A FIXIT-dive into an old CPAN module

Let’s have a thought experiment. Assume there is an Open Source-licensed Perl module published on CPAN that you care about, and that hasn’t had any updates in a very long time - what are your options?

In this blog post, I’ll take a dive into this problem, and use the Geo::Postcodes::NO module as an example. As of this writing, the module version is 0.31, and it’s most recent release was in September 2006.

Initial assumptions

Before we begin, let’s lay bare the most important assumptions I’m having. Your case may differ, but I think the following ones are pretty safe. Virtual Meeting: July 23 will host a virtual Perl Mongers meeting July 23 at 6:30 pm (Chicago time).

Late Weekly challenge 67 #1 only

I wrote some library to make combination in 2013.
I was overwhelming when I found this challenge but I found that it is buggy !!!

I think that finding combination isn't necessarily written using recursive calling.
so this is my first "working" solution.

it is possible to use some list of words (ex) "a", "b", "c" ) instead of number.

It was bound to happen.

While I don't actually work in Perl these days, and not by choice, I still keep an eye on the community. The language is chugging along nicely. Perl 6 is out, so at least that joke has died down, features are being added, some beneficiary, some not. All is well in perland.

Then the news dropped. Perl 7. I was very interested. More so when I realised that it was a rebranding of the latest Perl. First, let me say one thing right off the bat. It's a good call. I'm all for it. In fact, I'm so all for it that I called for it in a post from 2011. At the time I suggested using codenames like Apple and others do, or to rebrand Perl 5.14 (at the time) as Perl 14 like Java did.

Here's why I thought, and still do, that this "rebranding" is a Good Thing:

CY's Take on PWC#067

This is a part of Perl Weekly Challenge(PWC) and the followings are related to my solutions. If you want to challenge yourself on Perl, go to, code the latest challenges, submit codes on-time (by GitHub or email)(before Monday GMT+0 00:00) if possible, before reading my blog post.

The discussion of Perl 7 in # was so hot last week made me too shy to write PWC experience (stop, it's just an excuse!).

Some discussions were quite technical for a beginner. Anyway as a beginning coder in Perl 5, I would add "use warnings" in my final coding stage from now on to prepare for the change.

PWC#67 Task #2: Letter Phone

Lucky Number Per7

I swear it was Perl 5 just a moment ago. I turned my back for all of 5 minutes ...

I don't need the new features, but I don't like boilerplate and I'm happy to accommodate those who seek progress. Harking back to lessons from the past, SysAdmins of a certain age may remember the venerable a2p program for converting awk scripts to perl and the horrendous (but working) code that it produced. We had one of those running in production less than 2 years ago until I finally decided to re-write it in Modern Perl. A bit like moving house, as a community we need to face the pain every so often and address the risks and ptifalls, not as reasons to keep to the status quo, but as a checklist of problems to be solved.

Perhaps the most Perlish thing to do would be to actually go and ask the Python community what they would do differently in migrating to python3. Learn from other people's mistakes.

Breathing life into the (Emacs) cperl-mode

If you are an Emacs user, you might know or even use cperl-mode. I am using it, more or less since my first days with Perl. Back then, newsgroups were a thing, and Ilya Zakharevich recommended it occasionally. In older times cperl-mode was shipped with Perl, today it is part of Emacs.
If you use cperl-mode, you might also have had a look at the code and noticed that it hasn't seen much love in the last decade or so.
Perl, on the other hand, evolves. Version 5.32, for example, brings a new infix operator, and some future version might bring Cor.
Wouldn't it be nice if cperl-mode understood these new keywords?
I'm on my way to get familiar with emacs-lisp, ERT, and other stuff to see what I can do.
Ideas, contributions, comments, bug requests and criticism is welcome - There's a GitHub repository to get started.

About is a common blogging platform for the Perl community. Written in Perl with a design donated by Six Apart, Ltd.