Issue #501 - 2021-03-01 - Perl and Quality

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!

Recently I wrote quite a few posts about dealing with legacy Perl code in corporations. One of the key things is the need to write automated tests and to set up a CI system. The Perl community was really good at writing tests for the CPAN modules and making it easy to write test. The Perl community (or members of it) even created the CPAN Testers a sort of slow CI system that was one of the best such systems in the early 2000s.

However when I look at the stats I've been collecting it seems that only 50% of recently uploaded CPAN modules have any form of CI system configured. (Actually maybe I should look at the cup half full and celebrate that 50% already have CI? I don't have numbers about other programming language communities.) I keep hoping that more people will embrace the idea. I even recorded a video explaining the new CI system I set up for Test::Class.

rt.cpan.org moved to its new host without any noticeable downtime.

MetaCPAN keyboard shortcuts: Did you know that pressing '?' while on MetaCPAN will show you the keyboard shortcuts? I did not. I ran a poll in the Perl programmers group on Facebook: 102 did not know, and only 2 new. One of them being Olaf Alders, who runs MetaCPAN. I also asked on the Perl Maven LinkedIn page. You can still vote there.

Enjoy your week!

Gabor Szabo


Sponsors

Multi-OS Universal Perl Package Management

Use the same tooling across platforms to manage all your Perl environments. Add, remove, update individual dependencies, or install a bundle of curated packages by use-case (eg., a testing tools bundle), to get developing quickly. Learn more & try our new experimental Perl release here!


Announcements

rt.cpan.org has a new home

by Ricardo Signes (RJBS)

I personally got along with RT, but I think it is great that rt.cpan.org continues living. As a side-effect it was also upgraded from v4.0.18 to v5.0.


Articles

Writing a Perl Core Feature - part 9: Tests

by Paul Evans (PEVANS)

Adding a feature or making any changes to code isn't ready till you also wrote tests that verify the new feature and ensure that future changes will not break this feature.

Thoughts, quotes and thoughts about regex

by Thibault Duponchelle

Regex are one of the superpowers 💪 of Perl

Mojo::UserAgent introductory notes

by Flavio Poletti (POLETTIX)

Some notes about using Mojo as a web client.

Sets in Perl using Set::Scalar

by Gabor Szabo (SZABGAB)

Do you remember sets and Venn diagrams from school? Have you ever needed set operations while programming? It is rarely needed, but when it is then it is good to know you can use a module in Perl to help you.

xmpl - remote key/value store healthz revisited

by Flavio Poletti (POLETTIX)

Changing approach to establish the health of a KVStore::Remote object for xmpl. With rationale.

Exceptional Perl: Failure is an option

by Mark Gardner

Failure is a universal truth of computers. Files fail to open, web pages fail to load, programs fail to install, messages fail to arrive. As a developer you have no choice but to work in a seemingly hostile environment in which bugs and errors lurk around every corner. - a nice overview of the options in Perl.

What return is expected from a function?

by Gabor Szabo (SZABGAB)

Context in Perl: covering the wantarray, function and the want and howmany functions of Want.pm

Line noise

by Flavio Poletti (POLETTIX)

How to make Perl much more readable by formatting the code. Though I am not sure having a variable called $star = '*'; is a good idea, neither do I easily understand multi-level ternary operators.

Way Too Many IF-THEN-ELSEs? Try a Lookup Table

by Bill Costa

It is nice to see a (5-dimension) lookup table formatted as, well, a table.

xmpl - visibility API

by Flavio Poletti (POLETTIX)

So you thought that the neverending series about xmpl was over, didn't you?!? Yet another little facility...


Perl.com

The Hijacking of Perl.com

by brian d foy (BDFOY)

The story behind the crime.


Discussion

IPC::Cmd considered harmful

by Flavio Poletti (POLETTIX)

I prefer to use Capture::Tiny, but it is not in the core. (Which is a whole separate discussion.) The post got extensive feedback on Reddit.


Testing

GitHub Actions CI job for Perl Test::Class - checking downstream dependencies as well

by Gabor Szabo (SZABGAB)

In this video I went over and explained the CI job I set up for Test::Class to try to minimize the risk of changes. It includes running the tests of several downstream distributions and a scheduled job to ensure upstream changes don't break the module during the time no one is working on the code.


Web

Building a microservice in Perl, part 1: Designing the API

by Mark Gardner

Creating the OpenAPI design for a simple web application.


CPAN

Browse CPAN modules per namespaces

by Thibault Duponchelle

There are a few special, or advanced searches in MetaCPAN.They are listed in the FAQ, but that's not easy to notice. Thibault pointed at one of the examples and even suggested a new mode of browsing. What do you think. Would the treeview help you?

CPAN Mirror List Changes

From now on the CPAN Mirror list will contain only one entry.


The Weekly Challenge

The Weekly Challenge by Mohammad Anwar will help you step out from your comfort-zone. You can even win the prize money of $50 Amazon voucher by participating in the weekly challenge. We pick one winner at the end of the month among all the contributors of the month. The monthly prize is kindly sponsored by Peter Sergeant of PerlCareers.

The Weekly Challenge - 102

by Mohammad Sajid Anwar (MANWAR)

Welcome new week with couple of fun tasks "Rare Numbers" and "Hash-counting String". If you are new to the weekly challenge then why not join us and have fun every week. For more information, please read FAQ page.

RECAP - The Weekly Challenge - 101

by Mohammad Sajid Anwar (MANWAR)

Enjoy quick recap of last week contributions by the Team PWC dealing with the "Pack a Spiral" and "Origin-containing Triangle" tasks in Perl and Raku. You will find plenty of solutions to keep you busy.

Perl Review - Perl Weekly Challenge - 099

by Colin Crain

Perl Solutions Review by Colin Crain.


Videos

Weekly collections

The corner of Gabor

A couple of entries sneaked in by Gabor.


Events

Purdue Perl Mongers - HackLafayette

Wednesday, March 10, 2021

Houston Perl Mongers Online Meeting - Lightning Talks

March 11th, 2021 06:00 PM Central Time (US and Canada)

German Perl Workshop 2021

It will take place online between March 24-26 2021. The private ticket will be cheaper (EUR 30). People who register in time and transfer the participation fee, will get exclusive extras.

Toronto Perl Mongers Online Meeting

Thursday, March 25, 2021

Berlin Perl Mongers

Wednesday, March 31, 2021


Perl Jobs by Perl Careers

All Aboard to Your Next Adventure! Perl Role in Malta

Our client has an office in Malta, and they’re looking for you. As a financial company seeing incredible growth over the last two decades, business is booming and they’re looking to expand their team.Looking for Perl developers with a strong background in Modern Perl – you should be comfortable with Moose and PSGI/Plack, and a solid grounding in using Perl’s testing tools.

Mad Men (and women) of London. Perl in London

The leader in premium native advertising for technology, financial services, and corporate and lifestyle sectors, our client is the power behind the advertising throne for over 200 websites.This dynamic team is looking for a senior Perl programmer with a strong understanding of Go programming language, paradigms, constructs, and idioms.

Smart Shopper = Smart Saver. Perl role in Vienna

Very well-known Austrian e-commerce brand willing to consider all candidates with strong Perl, but they make heavy use of PostgreSQL, Elasticsearch, and Dancer, any of which would be useful to have experience with.

Guten Tag, Senior Perl Developers! Perl role in South Germany

With more than 4 million domains spanning nearly every country around the globe, our client manages over 100,000 retail and corporate clients and 2,300 resellers.The ideal candidate should be confident using Modern Perl, in particular happy with DBIx::Class and Moose/Moo.

Grow Your Karma with a Job that Does Good! Perl role in Australia

Not all jobs are created equal. Sure, most pay the bills, but some do more. They impart a sense of purpose; when you log out at day’s end, it’s with the satisfaction that you are part of something bigger, something more important than yourself. You’ve left the world a little better than you found it, and isn’t that what life is really about?



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