Perl 5 Porters Mailing List Summary: July 24th-30th

Hey everyone,

Following is the p5p (Perl 5 Porters) mailing list summary for the past week.


Challenge: At least one PR a day in a month

Since I started my journey of PullRequest, I always wanted to do at least one PR a day every month. I found it very tough and have only managed few times. To be precise 3 times in the year 2015 (Oct: 45, Nov: 31, Dec: 60). However the following year 2016 wasn't as good as expected, unfortunately. I could only successfully managed to do that in one month (Dec: 77). This year 2017, I am charged up again to do at least 6 months, if not at least beat my year 2015 target of 3 months. So far I could only do 2 months (Jan: 63, Jul: 32). I still have plenty of time in my hand and hopeful to get another 4 months, in the remaining months of the year.

At times, I feel like starting with one PR a week challenge and then move up slowly.
Any suggestions/ideas?

The Perl Conference in Amsterdam

I'm delighted to be attending The Perl Conference in Amsterdam in just over a week's time.

We'll be kicking off the event with two days of public training courses. I'll be offering a full-day class on Perl 6's awesome regexes and grammars on Monday August 7, and then my popular Presentation Aikido class on Tuesday August 8.

In addition to my own two events, brian d foy and Jeff Goff are also offering some great classes in Perl 5 or Perl you're guaranteed some first-rate training, whichever course you choose. All the classes are just €150 per day (including lunch and recaffeination breaks) and you can sign up for any of them on the conference's new training webpage.

berrybrew, the Perlbrew for Windows, updated to v1.15

I've released berrybrew version 1.15.

All of the credit for this update goes to PETERCJ who went far above and beyond with this PR. It's a pleasure to have him contributing to this (or any) project.

The significant change here is the addition of the use command. I feel that this addition adds tremendous value to the software, and makes it much easier to use.

This allows you to temporarily switch to one of your other installed Perl instances either in the same command window or new ones without switching your currently switched to one. Here are some examples:

Temporarily use a different installed version, in the same window. Typing exit will return you to your previous environment within the same window:

c:\>berrybrew use 5.10.1_32
Microsoft Windows [Version 10.0.14393]
(c) 2016 Microsoft Corporation. All rights reserved.

<berrybrew use 5.10.1_32>: run "exit" leave this environment

Calling exit returns you to your previous environment within the same CLI window.

CPAN Day is 16th August

CPAN Day marks the date of the first recorded upload to CPAN: Andreas König uploaded Symdump 1.20 (it's since been renamed Devel::Symdump).

On CPAN Day this year, you could do some small thing to help celebrate. This could be as simple as emailing the author of a module that you regularly use, and say "thank you". It may not sound like much, but it's great to be on the receiving end.

There are lots of other things you could do to help someone else's module. For a previous CPAN Day I posted a list of ideas.

Or if you've got your own distributions on CPAN, you could fix a bug, or merge an outstanding pull request *cough*. This year I plan to merge at least one PR, and do at least one release to CPAN. I'll submit a PR too.

What will you do?

Perl 6 Training August 8th at TPC::Amsterdam

The official training schedule is still being drawn up, but I'm pleased to offer a full day of Perl 6 training at the venue the day before TPC::EU . Please feel free to join me in a day of hands-on interactive learning about Perl 6. If you were at the Perl 6 training seminar last year, don't worry, I have new content and insight to bring to the table, and if you weren't, just bring your curiosity and a laptop loaded with Rakudo Star and we'll sit down and start learning.

Maybe the King is facing revolt

Python is often touted as the "winner" among scripting languages, but you couldn't tell from this post:

Perl 5 Porters Mailing List Summary: July 17th-23rd

Hey everyone,

Following is the p5p (Perl 5 Porters) mailing list summary for the past week.


Reading/writing Arduino pins over I2C with Perl

Today, loosely inspired by this thread over on Perlmonks, I'm going to show how to set up an Arduino (Uno in this test case) with a pseudo-register that allows toggling one if its digital pins on and off, and another pseudo-register to read an analog pin that the digital pin is connected to, over I2C. Because it's digital to analog, the only possible values of the analog read will be 0 (off) or 1023 (full on, ie. 5v). This is an exceptionally basic example, but with some thought, one can imagine the possibilities (read/write EEPROM, set PWM etc etc).

1000th consecutive days releasing to CPAN

Today, Sunday 23rd July 2017, is the 1000th consecutive days of releasing to CPAN. It means a lot to me personally and certainly not an easy task. I have been through many ups and downs in this entire journey. I would say many ups than downs. What inspired to me start the journey? It was one of the blog by Neil Bowers that got me started.

Then came a time when Barbie decided to stop after completing 370th consecutive releases to CPAN. He even wrote a blog about it and mentioned my name in the blog. He even gave few advises how to survive.

PPIx-Regexp Perl Version Functionality

The PPIx-Regexp package provides a PPI-like parse of Perl regular expressions. Part of its functionality includes reporting on the versions of Perl under which a given regular expression or its elements are valid. Up to this point the version fumctionality has been fairly simple: method perl_version_introduced() returns the version of Perl that introduced the element, and perl_version_removed() returns the version under which it was removed, or undef if the element is valid in the most-recent Perl.

Unfortunately reality is not so constrained, and Perl 5.27.1 contains the first instance known to me of regular expression functionality which was removed and then reinstated: the un-escaped literal left curly bracket following another literal. Yes, this is just a development release, but the explanation given in perl5271delta (use of the construct in GNU Autoconf) makes it sound to me like the reinstatement needs to be taken seriously. Here is how I plan to deal with all such occurrances:

Swiss Perl Workshop 2017 - Final Call For Papers

It's just over a month until this year's Swiss Perl Workshop in Villars-sur-Ollon. We already have Damian speaking as well as a few talks submit on topics such as: starting afresh with Mojolicious up to building an API using Swagger, profiling with Devel::NYTProf and memory leak tracing, high precision math in Perl 6, and using perl and Java together; but of course we would like more!

If you would like to attend this year's Swiss Perl Workshop and give a talk then please register and submit a talk. Your talk can be short (5 or 10 minutes) or longer (20, 40, or even 120 minutes) and we welcome talks on any topic, not just perl.

Many thanks to our sponsors, who have enabled this event to take place:

GivenGain | Oetiker + Partner AG | Perl Careers
Perl Services | | Open Systems AG

Strawberry Perl released

Strawberry Perl is available at

More details in Release Notes:

I would like to thank our sponsor Enlightened Perl Organisation for resources provided to our project.

What is a "Senior Developer"?

When a company hires All Around the World to develop new systems or work on existing ones, they're sometimes surprised to find out that, with few exceptions, we only hire senior engineers. We're not a "body shop." We're the experts you hire when you need things to work and you've discovered that the $100 a day freelancer wasn't such a bargain after all (true story).

So when a self-described intermediate developer asked me what I meant by "Senior Developer", and does it just meant "time on duty", I realized that what we're looking for is different from what other companies look for. We have high standards and a difficult hiring process, but it's worth it.

What follows is my (edited) response to that developer.

Introduce Perl tutorial site which write by google engineer

About a month ago, I got an e-mail. "Please introduce Perl tutorial site which is written by google engineer spent over 150 hours"

PERL Tutorial for Beginners - Complete Guide

A Silicon Valley engineer seems to have rarely introduced Perl, but recently it tells us that we have used Perl at the Google APP engine, and Amazon scalable MXNet cloud support Perl library AI::MXNet officially.

And about a month ago, I hear a veteran google engineer is writing Perl tutorial over 150 hours.

I'm glad for Silicon Valley engineer to be interested in Perl.

This site start with Perl download and installation, then there are basic topics.

PERL Tutorial for Beginners - Complete Guide

Download & Install Perl - Windows, Mac & Linux
Perl Variable
Perl Array
Perl Hashes
Perl Conditional Statements - If, If Else, Else if, Unless, Nested if
Perl Loops - Control Structures
Perl Operator
Perl Special Variables
Perl Regular Expression
Perl File I/O
Perl Subroutine
Perl Format- Getting perfect Output
Perl Coding Standards
Perl Error Handling
Perl Socket programming
Perl Modules and Packages

This is one way to learn Perl in English. I think that it is convenient for people who are studying Perl in English-speaking countries.

I asked Google engineers to see GitPrep and SPVM.

Perl 5 Porters Mailing List Summary: July 10th-16th

Hey everyone,

Following is the p5p (Perl 5 Porters) mailing list summary for the past week.


berrybrew, the Perlbrew for Windows, updated to v1.13

I've released berrybrew version 1.13.

The most notable change is the addition of the register command, which allows you to copy/move existing Strawberry Perl portable editions from your local/remote systems and have them operate as custom instances within berrybrew. Before registering a new instance:

> berrybrew available

The following Strawberry Perls are available:

    5.24.1_64       [installed] *

* Currently using

Now, copy your new instance into the instance directory (by default c:/berrybrew), then register it. I've used new_instance as the example instance directory in this case:

Bailador is still at its beginning..

...but it is becoming better from day to day.

In the time while I was thinking about what I should write about Bailador a new Github Issue was created. So I changed my mind...

Actually I just wanted to let you all know that I've released version 0.0.8 of Bailador today. I wanted to show you the Changelog and maybe I wanted to explain a few bits. I could've talked about Github Issue #169, because it appeared to be more work as I thought at first glance. I realized that some parts of the code in Bailador::App and Bailador::Route could be better and during refactoring I stumbled over After all I am hoping that I have left the code in a better state and the behaviour of Bailador is now more reasonable and consistent.

Now I am writing something else.

See you at!

I got a fantastic opportunity to give a talk at meetup in August. I'll speak about The Perl Foundation, focusing on grants and donations. For those who love technical talks as much as I do, there will be three more interesting talks by other Perl Mongers.

I started learning Spanish using Lingua::ES::Numeros. Uno, dos, tres. ¡Buenas tardes a todos!

New blog post: Using a DarkPAN with Carton

Read all about it here: !

About is a common blogging platform for the Perl community. Written in Perl and offering the modern features you’ve come to expect in blog platforms, the site is hosted by Dave Cross and Aaron Crane, with a design donated by Six Apart, Ltd.