Perl Weekly Challenge 274: Goat Latin

These are some answers to the Week 274, Task 1, of the Perl Weekly Challenge organized by Mohammad S. Anwar.

Spoiler Alert: This weekly challenge deadline is due in a few days from now (on June 23, 2024 at 23:59). This blog post provides some solutions to this challenge. Please don’t read on if you intend to complete the challenge on your own.

Task 1: Goat Latin

You are given a sentence, $sentance.

Write a script to convert the given sentence to Goat Latin, a made up language similar to Pig Latin.

Rules for Goat Latin:

1) If a word begins with a vowel ("a", "e", "i", "o", "u"), append "ma" to the end of the word. 2) If a word begins with consonant i.e. not a vowel, remove first letter and append it to the end then add "ma". 3) Add letter "a" to the end of first word in the sentence, "aa" to the second word, etc etc.

Example 1

This week in PSC (137) | 2024-02-22

Paul was away this week.

  • we talked about the hiccups that PAUSE seems to have been through
  • we discussed further changes to the use VERSION behaviour (warnings)
  • and we started going through the bug list to tag release blockers

Live streaming the release of Perl 5.39.7

I missed last year but in 2024 I'm doing a dev release of Perl again. This time it is version 5.39.7.
And again, you can watch it live on Saturday 20th of January on Twitch.

Never matching: everybody is doing it wrong

Well, not actually wrong, just slow. But the exaggeration makes a punchier headline, you’ll admit.

This comes up when an interface takes a pattern to match things against. Sometimes you have some reason to want this match to always fail, so you want to pass a pattern which will never match. The customary way of doing this is to pass qr/(?!)/. There is a problem with that, though.

I’m not talking here about the fact that if possible, you really don’t want to pass an actual qr object. We’ve already covered that. It was a surprising enough discovery that I’ll take this opportunity to signal-boost that while we’re here, but this article is not about that.

Perl Weekly Challenge 273: B After A

These are some answers to the Week 273, Task 2, of the Perl Weekly Challenge organized by Mohammad S. Anwar.

Spoiler Alert: This weekly challenge deadline is due in a few days from now (on June 16, 2024 at 23:59). This blog post provides some solutions to this challenge. Please don’t read on if you intend to complete the challenge on your own.

Task 2: B After A

You are given a string, $str.

Write a script to return true if there is at least one b, and no a appears after the first b.

Example 1

Input: $str = "aabb"
Output: true

Example 2

Input: $str = "abab"
Output: false

Example 3

Input: $str = "aaa"
Output: false

Step Counter (Advent of Code 2023/21)

The Task

We’re given a grid with obstacles, we’re supposed to count all the reachable plots in the grid in a given number of steps (we can only move one plot at a time horizontally or vertically).

The sample input looks like this:

...........
.....###.#.
.###.##..#.
..#.#...#..
....#.#....
.##..S####.
.##..#...#.
.......##..
.##.#.####.
.##..##.##.
...........

where S is the starting position.

This week in PSC (129) | 2023-12-21

We

  • Arranged for a representative from TPRF to join us in January to discuss roadmaps
  • Started discussing what might turn up in the PSC talk at FOSDEM

We’re skipping next week due to Christmas, so next meeting should be on 2024-01-04

Migrating from DBD::mysql to DBD::MariaDB

DBD::mysql has long provided the interface to connect to the MySQL database from Perl code. But as old as it is, it was implemented with some critical bugs that cannot simply be corrected without breaking mountains of existing code relying on those bugs. For this same reason, though DBD::MariaDB corrects these bugs, care must be taken when migrating existing code to avoid subtle breakage.

This blog post is far too short to explain Unicode and encodings like UTF-8; for anyone seeking a more solid grasp on the concepts, I recommend a read through The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!) by Joel Spolsky.

Perl Weekly Challenge 273: Percentage of Character

These are some answers to the Week 273, Task 1, of the Perl Weekly Challenge organized by Mohammad S. Anwar.

Spoiler Alert: This weekly challenge deadline is due in a few days from now (on June 16, 2024 at 23:59). This blog post provides some solutions to this challenge. Please don’t read on if you intend to complete the challenge on your own.

Task 1: Percentage of Character

You are given a string, $str and a character $char.

Write a script to return the percentage, nearest whole, of given character in the given string.

Example 1

Input: $str = "perl", $char = "e"
Output: 25

Example 2

Input: $str = "java", $char = "a"
Output: 50

Example 3

Input: $str = "python", $char = "m"
Output: 0

Example 4

Brain Memory Management

My next dev article about the important concept of cognitive load of code and how to manage it.

This week in PSC (128) | 2023-12-14

This week, Graham was on holidays, so Paul and Philippe:

  • reviewed new mailing list threads. Just one - a rethink of signatures.
  • submitted a talk proposal to the Perl dev room at FOSDEM
  • continued to discuss the complexities of moving past the number ‘5’ for the major part of the language version

Quote of the week: “There are features that make the language slow, but those are the features that make the language.”

It's the Twelve Days of Dancer, 2023 edition!

The 2023 Dancer Advent Calendar, the Twelve Days of Dancer is up and running! We hope you'll enjoy this year's version - there's a lot of fun and practical gifts to be found there.

Hot on the heels of our earlier gift (Dancer2 1.1.0) come two more plugin releases, Dancer2::Plugin::Cache::CHI and Dancer2::Plugin::Syntax::GetPost.

Enjoy! Let us know what you think. Happy holidays to all! (and now it is time for this Dancer to enjoy a long winter's nap)

Jason/CromeDome

Perl Weekly Challenge 272: String Score

These are some answers to the Week 272, Task 2, of the Perl Weekly Challenge organized by Mohammad S. Anwar.

Spoiler Alert: This weekly challenge deadline is due in a few days from now (on June 9, 2024 at 23:59). This blog post provides some solutions to this challenge. Please don’t read on if you intend to complete the challenge on your own.

Task 2: String Score

You are given a string, $str.

Write a script to return the score of the given string.

The score of a string is defined as the sum of the absolute difference between the ASCII values of adjacent characters.

Example 1

System Thinking

I started to also post on dev.to and will post there mostly about topics larger than Perl : psychology of programming, software engineering and alike.

This week in PSC (127) | 2023-12-07

This week we:

  • Worked out final resolving actions for security issues.
  • Discussed recent mailing-list posts about making method non-public by default. This probably won’t work but we could open a PPC discussion on my method + $obj->&method syntax.
  • Reviewed Projects in Flight - posted below
  • Merged the PR for PPC 0022 (Metaprogramming API). Discussions on individual points can be made using GH Issues

Projects in Flight

  • HTTPS out of the box — (Paul) has nudged Mark Gardner by email
  • PPC 0013 overload in join — (Philippe) should open an issue with his thoughts on the topic
  • PPC 0014 English names — (Paul) should check in with Joe McMahon
  • PPC 0019 qt Strings — (Paul) now has TPF Core Development Grant so can start writing this Any Day Now(TM)
  • PPC 0021 Optional chaining — (Paul) should check in with Veesh Goldman
  • PPC 0022 Metaprogramming API — (Paul) has a CPAN module, would be nice if anyone started using it for any reason
  • (Graham) to write a PPC for ->&
  • Perl roadmap for 2024 — Yeah it’d be nice if we had one, but without having any weight of promise behind it it’s just words
  • TODDR to write a draft pod/security_disclosure_process.pod (not in December), and also offered to coordinate the next incident

Is Perl a write only language?

I am sick and tired of hearing this, so let's put it this to the test. Assume you know little of Perl, or any programming language for that matter. Can you parse the code?

https://chrisarg.github.io/Killing-It-with-PERL/2023/12/06/Is-Perl-a-write-only-language.html

I hope the piece above is the first in a series to convince people to consider the reality before passing judgement. It was inspired by one of our research analysts discovering Perl and awk to simplify their lives when cleaning data.

Perl Weekly Challenge 272: Defang IP Address

These are some answers to the Week 272, Task 1, of the Perl Weekly Challenge organized by Mohammad S. Anwar.

Spoiler Alert: This weekly challenge deadline is due in a few days from now (on June 9, 2024 at 23:59). This blog post provides some solutions to this challenge. Please don’t read on if you intend to complete the challenge on your own.

Task 1: Defang IP Address

You are given a valid IPv4 address.

Write a script to return the defanged version of the given IP address.

A defanged IP address replaces every period “.” with “[.]".

Example 1

Input: $ip = "1.1.1.1"
Output: "1[.]1[.]1[.]1"

Example 2

Input: $ip = "255.101.1.0"
Output: "255[.]101[.]1[.]0"

This the first time that I hear that an IP address could be "defanged."

Defang IP Address in Raku

The YAMLScript Advent Blog

Season's Greetings, Perl!

I've spent almost all of my time since my [last post here]( https://blogs.perl.org/users/ingy_dot_net/2023/05/perl-toolchain-synergy.html) working on a new programming language, YAMLScript.

It's working now and I've decided a do a [2023 Advent YAMLScript Blog]( https://yamlscript.org/posts/advent-2023/index/) for it. The blog started last Friday and will continue (at least) until December 24th.

I encourage you to follow along. At some point this month YAMLScript modules will become available for CPAN and Raku and many other languages. I also encourage you to try writing an [Advent of Code 2023]( https://adventofcode.com/) solution in YAMLScript, if you are playing along with AoC this year.

All the Best, Ingy döt Net

This week in PSC (136) | 2024-02-15

  • working out a timeline of what should go in to 5.39.8, 5.39.9, and what to defer to 5.41
  • draft tests+docs received from Martijn Lievaart (“M4”) for a logical xor (^^) operator
  • the responses saying no to adding Data::Printer in core that it doesn’t seem like it would be popular
  • some potential new sprintf format templates:
    • a float template that produces the shortest string that represents the exact float (similar to what Math::Ryu does),
    • a %q to access B::perlstring/quotemeta or something similar
  • the realisation that, some months ago, Mark Gardner had volunteered to work on the SSL-in-core project, and we haven’t heard from them since.

Cosmoshop unterstützt den Deutschen Perl/Raku-Workshop

We are happy to announce that CosmoShop supports the German Perl/Raku-Workshop.

CosmoShop is the largest pure Perl based shop system.

Since 1997, we have been implementing sophisticated and individual eCommerce projects in the B2B sector with our specially developed store software. We are the central point of contact for the entire spectrum.

About blogs.perl.org

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