This week in PSC (192) | 2025-05-22

All three of us attended.

  • We discussed the situation with readline and the filehandle error flag once again, starting over by revisiting the basic premise of the error flag. We think we now have a better understanding the overall situation, and this led us to a different approach about how to correct the overall situation, which we will outline as a proposal soon.
  • We have been wanting to revert #22465 but wanted to include a testcase that demonstrates why, which we hadn’t gotten to. In order to get this into the looming final dev release, we talked through what the testcase needs to look like, and will submit a pull request ASAP.
  • We caught up on new issues and pull requests for release blocker triage. We then reviewed the state of our current release blockers, some of which have been resolved, and one of which (#23026) we demoted based on our new understanding about the readline situation.

[P5P posting of this summary]

LocalStack with AWS S3


Playing with AWS S3 using LocalStack platform.
Please check out the link below for more information.
https://theweeklychallenge.org/blog/localstack-aws-s3

Tree::DAG_Node V 1.34 uploaded to CPAN

Many thanx to Shawn Laffan for testing this version on Strawberry Perl.
I test it on my Debian machine first of course.
It took Shawn and myself a number of attempts to make all the test pass under the 2 types of OSes.

Learning XS - Overloading

Over the past year, I’ve been self-studying XS and have now decided to share my learning journey through a series of blog posts. This fourth post introduces you to overloading operators in XS.

This week in PSC (191) | 2025-05-15

We were all present.

  • The status of smartmatch came up. It is in a weird position where it used to be part of the language, then was retroactively declared an experiment, then deprecated and slated for removal, and now it’s no longer being removed – in fact we’ve added a feature for it, and not an experimental one either. The bottom line is that it’s not deprecated any more and not experimental either, but is now just a negative feature like indirect and multidimensional: it’s a mistake we made that will remain part of older language versions but will not be included in future feature bundles.
  • Release blocker triage continues as ever. Quite a few new issues came in recently, of which we identified two issues and one pull request as blockers. One of the issues and the PR pertain to the documentation of the status of smartmatch; we expect that there may be more inconsistencies in the documentation which will need to be ironed out.

[P5P posting of this summary]

Julia in cruiser mode

threeheads.png

Yes, this is a Mandelbrot fractal with three heads. No cloning needed, just multiply z to the power of four and proceed as usual. Well all this and so much more contains the latest release of Juliagraph 0.7. Intro here. All I wrote about the Cellgraph and Harmonograph applies again, more features, better controls and ... you can cruise the fractal by mouse.

Map::Tube - experimental


Couple of experimental features added to Map::Tube.
Please check out the link below for more information.
https://theweeklychallenge.org/blog/map-tube-experimental

Writing a 1GB file in perl

One of my pleasures in perl is learning the C language again. Something about the perl language makes it easier to write C, but while sharing the same space in my brain.

So how can I write a trivial program to write exactly one GB (2^30) of data to disk?

first in perl- (Of course you prototype in perl!)

But since my c program is cleaner, here’s the C program

This week in PSC (190) | 2025-05-09

A meeting with full attendance.

  • We caught up with new issues and pull requests without finding any new release blockers.
  • We went over the state of the perldeprecation and perlexperiment POD pages. We found that perlexperiment does not yet reflect the change in direction regarding smartmatch. Other than that we saw nothing to do.
  • We went over our options regarding readline again at length. We concluded that we are not yet sure about the big across-the-board change to I/O functions, and are definitely too far into the release cycle to undertake a fishing expedition. But we don’t want to leave this problem entirely unaddressed during this cycle, and the change proposed by Tony Cook is a strict improvement, even if only a minimal one. So we decided to ship it, possibly with a slightly different implementation that we may suggest.

[P5P posting of this summary]

Reaching 1.0

With the Harmonograph you can create beautiful and individual images within a few clicks. It's painting by pendulum. I already gave here an introduction. So let me just explain what is new:

farbrad.png

CVE-2024-56406


Re-creating CVE-2024-56406 using docker container with affected Perl versions.
Please check out the link below for more information.
https://theweeklychallenge.org/blog/cve-2024-56406

Learning XS - List context

Over the past year, I’ve been self-studying XS and have now decided to share my learning journey through a series of blog posts. This third post introduces you to list context in XS.

This week in PSC (185) | 2025-04-03

The three of us attended.

  • Preparations for the point release are now in full swing.
  • In relation to that, we ran into infrastructure permissions discrepancies that have cropped up due to an absence of onboarding/offboarding procedures. We need to address both the immediate and long-term issues here.
  • We started winnowing this release cycle’s issues for potential release blockers. Out of about 95 issues, we have so far reviewed half, of which we identified 8 of interest. Additionally there are 72 pull requests to review.

[P5P posting of this summary]

Announce Perl.Wiki.html V 1.25 etc

My home page gives you access to:

o Perl TiddlyWiki V 1.25
o Mojolicious TiddlyWiki V 1.03
o Debian TiddlyWiki V 1.07
o Some other stuff...

Type::Tiny 2.8.0 Released

What's new?

  • The BoolLike type constraint accepts boolean.pm booleans.
  • Type::Params offers some improvements for DWIM named parameter processing.
  • More shortcuts are provided for exporting parameterized versions of type constraints.

Learning XS - What is in my variable

Over the past year, I’ve been self-studying XS and have now decided to share my learning journey through a series of blog posts. This second post introduces the fundamentals of type checking variables in XS.

This week in PSC (187) | 2025-04-17

We were all present.

  • CVE-2024-56406 is published and has been addressed by new point releases. Please upgrade or patch your perl promptly if affected. We thank Steve Hay, Andreas König and Stig Palmquist for doing the heavy lifting, as well as Nathan Mills for discovering the problem, and Karl Williams for providing the fix. We re-/learned a number of old and new lessons about the handling of security issues, which we will write up as new process for the PSC, the Perl Security Team, and the CPANSec group, to be jointly reviewed and agreed at the looming PTS.

  • We started winnowing this release cycle’s pull requests for potential release blockers. We briefly reviewed all 72 pull requests and identified 11 of interest for a closer look.

  • We reviewed the 2 new issues filed since last week for release blocker potential and put one of them on our list for closer review. We then started a closer examination of the 20 issues we identified as candidate blockers. We got through 5 issues, none of which we considered blockers.

[P5P posting of this summary]

CVE in Perl


Find out all about CVE and how we deal with it in Perl.
Please checkout the post for more information:
https://theweeklychallenge.org/blog/cve-in-perl

Create a static mirror of your DEV blog

I started using DEV at the suggestion of Perl Weekly, and I was quite pleased with it - until I discovered that links to dev.to are effectively "shadowbanned" on several major platforms (Reddit, Hacker News, etc.). Posts containing DEV URLs would simply not be shown to users, making it impossible to share content effectively.

To work around this, I thought I would need a way to publish my DEV articles on my own domain so I could freely share them. There are some DEV tutorials out there that explain how to consume the API using frontend frameworks like React, however I don't enjoy frontend at all and I did not want to spend much time on that.

My solution was to get a simple Perl script that builds static versions of the articles, along with an index page. A Perl 5 script will run anywhere, including an old shared linux hosting account I still keep on IONOS, and I really like the speed of static sites.

An introduction to App::ModuleBuildTiny part 2: authoring

Now that we have set up our mbtiny configuration in the previous post, we can actually use it.

Minting a new distribution

Minting a distribution is trivial once you’ve completed the setup. It’s typically just a matter of calling mbtiny mint Foo::Bar. If needed you can override the global configuration at minting time (e.g.  mbtiny mint Foo::Bar --license BSD).

Converting an existing distribution

You can also convert an existing distribution to App::ModuleBuildTiny. In most cases that requires just two things:

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.