Issue #557 - 2022-03-28 - Human languages

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!

First of all, let me congratulate Mohammad S. Anwar for editing 100 issues of Perl Weekly. If you visit the main page of the website you will see a list of all editors, past and present, in the order they joined and with the number of issues they edited. Let me thank all of you!

Learning programming languages is not easy, but if you compare that to learning human languages you'll notice that it has a lot more difficulties. Human languages have much bigger vocabulary and much bigger grammar with lots of exceptions. This already makes it much harder to learn on, but in addition it is hard to get fast and cheap feedback. Something you are given by the compiler/interpreter of your language. You can even add more by writing your own tests and setting up a CI system. That's part of the value DuoLingo provides. Fast and cheap feedback. However it is proprietary. LibreLingo is an open source alternative to which I started to contribute. The most fun part for me is actually trying to write a course: building a dictionary and writing sample sentences.

Enjoy your week!

Gabor Szabo


Tricked by __PACKAGE__

by Flavio Poletti (POLETTIX)

__PACKAGE__ (and __LINE__ and __FILE__) cannot be treated like a sub in versions of Perl prior to 5.16.

Local to remote port forwarding with socat

by Flavio Poletti (POLETTIX)

You may wish to view a site that is only accessible within a VM on the host machine. In this post, Flavio demonstrates how to use socat to listen on a local port and send the traffic to a remote host/port.

Perl TCP client/server sample code

by Thibault Duponchelle

This post explains how to implement a simple TCP client/server in Perl using IO::Socket::INET.

Yet Another Perl Switch Statement

by Matthew Persico

When converting Perl code to Python, Pythonistas will tell you that explicit is better than implicit. However, we must be careful when setting $_ directly to avoid introducing new issues into the code.

Corkscrew in Perl

by Flavio Poletti (POLETTIX)

Corkscrew is a tool to set up SSH connectivity through a web proxy that supports the CONNECT verb.

OpenAPI with Mojolicious - using name for default_response

by Flavio Poletti (POLETTIX)

Mojolicious::Plugin::OpenAPI author Jan Henning Thorsen provides Flavio with a handy short-circuit trick to avoid loading an API specification twice.


by Flavio Poletti (POLETTIX)

Minion is a high-performance job queue for Perl that integrates with Mojolicious applications and leading databases.

Installing Perl: A Chicken-and-Egg Problem

by Tom Wyant (WYANT)

Installing Perl from scratch on a Raspberry Pi that lost its mind.



Please test DBD::Oracle v1.90_1

by Dean Hamstead (DJZORT)

Dean invites anyone using DBD::Oracle to test development release v1.90_1 which should fix a lot of problems.

The Weekly Challenge

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

The Weekly Challenge - 158

by Mohammad Sajid Anwar (MANWAR)

Welcome to a new week with a couple of fun tasks: "Additive Primes" and "First Series Cuban Primes". If you are new to the weekly challenge, why not join us and have fun with Perl and Raku every week. For more information, please read the FAQ.

RECAP - The Weekly Challenge - 157

by Mohammad Sajid Anwar (MANWAR)

Enjoy a quick recap of last week's contributions by Team PWC dealing with the "Pythagorean Means" and "Brazilian Number" tasks in Perl and Raku. You will find plenty of solutions to keep you busy!

Perl Review - Perl Weekly Challenge - 153

by Colin Crain

Perl Solutions Review by Colin Crain.

Brazilian Means with Raku

by Arne Sommer

Another great showing of Raku magic, including Reduction metaoperators and polymod. Plenty to learn, as always!

Pythagoras Was a Meanie

by Colin Crain

Pythagorean means (arithmetic, geometric, and harmonic) in Perl and Raku, with some interesting Pythagorean history and discussion of intervals. One-liner solutions in Perl are worth reading.

Waxing Numeric

by Colin Crain

An introduction to Brazilian Numbers. Discussion of a problem and potential paths to its solution are a key feature of Colin's blog. For me it is more important than the solution itself.

I Cannot Count To A Brazillian

by Dave Jacoby (JACOBY)

Dave's writing is laden with popular culture references, and is always a fun read. As a bonus, his code looks like poetry to me.

The Weekly Challenge 157

by James Smith

James is well known for his compact and scalable solutions. Footnotes to each solution explain the coding choices in a solution and additional background.

PWC157 - Pythagorean Means

by Flavio Poletti (POLETTIX)

I loved the re-use of arithmetic mean in the calculation of harmonic mean - you must check it out!

PWC157 - Brazilian Number

by Flavio Poletti (POLETTIX)

The generalization of determining Brazilian Numbers from an initial brute-force approach is really cool. Worth checking out!

Perl Weekly Challenge 157: Pythagorean Means and Brazilian Number

by Laurent Rosenfeld

I always read the Raku code first, followed by Perl. It makes it so easy to follow the code. Thanks for sharing the knowledge.

Perl Weekly Challenge 157: numbers

by Luca Ferrari

Cool use of Raku's Bag feature makes the solution look so compact. Keep up the great work.

Perl Weekly Challenge 157

by W Luis Mochan

Luis is a master of one-liners, and came up with a Perl one-liner to solve the Pythagorean Means problem.

Mean Brazilians

by Peter Campbell Smith

Peter's blog shares the fun behind the solution and is always a pleasure to read. Thanks for sharing the knowledge.

The Weekly Challenge 157: Pythagoras in Brazil

by Roger Bell West (FIREDRAKE)

I liked the hack to get a one decimal place result. The solution to the Brazilian Number task is really cool. Great work!

Three means and big bases

by Simon Green

We welcome Simon back after a short break - we missed you and thank you, as always, for your contributions.


Open Source translator (instead of Google Translate)

by Gabor Szabo (SZABGAB)

I found a neat open source alternative to Google Translate. Now I am trying to figure out how to find enough text in Ladino to be able to add the Ladino translator.

Weekly collections


Show and Tell! (round robin)

Wednesday, March 30, 2022; 06:00 PM Eastern Time (US and Canada)

Boston Perl Mongers Online Meeting - topic TBD or round-table

Tuesday April 12th, 2021 07:00 PM Eastern Time (US and Canada)

Perl Jobs by Perl Careers

Perl developers throw a mean party! Remote Perl role in UK and EU

As the developer and operator of software platforms providing web presence services to guests around the world, our clients take hosting to the next level. You will need strong Perl skills and Linux and/or FreeBSD experience. This role is 100% remote within the UK and EU.

Music-loving DevOps (with Perl), get in here! London based role

We’ve got an intriguing role for a Lead DevOps Engineer who cares about great music. Perl experience would be helpful; knowledge of Linux, configuration management tooling like Ansible or Puppet, and experience operating in a physical data centre are must-haves.

Thought-Leader Wanted. Chief Software Architect role in Malaysia

As Chief Software Architect for an international company providing online trading services, you’ll work closely with the Chief Technology Officer. With a strong understanding of the full stack of software development and cloud technologies, you’ll mentor engineering teams and provide guidance in solving technical issues.

Let’s get SaaSsy! Remote Perl role within US time zone

Our client is the world’s leading provider of award-winning intelligent SaaS solutions for clients, ranging from first responders and engineers to manufacturers and educators. The successful candidate is a Perl developer with Catalyst and DBIx::Class. You’ve been around the block and you know your stuff.

NLP is all right by me! Perl, Python, NLP role in Amsterdam

A global leader in machine intelligence matching job seekers with their perfect career: our client’s goal is human-level parsing. They’re on the hunt for an NLP Engineer whose passion for NLP is matched only by their interest in Machine Intelligence and their ability to drive quality improvements, measurement standards, and error analysis processes for the NLP framework.

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