DBD::Oracle v1.91_2 released

Image for: DBD::Oracle v1.91_2 released

With help from the community a development release of DBD::Oracle has been released to the CPAN.

This release includes a number of important changes that we hope will improve stability with threaded Perl.

If you are using DBD::Oracle I would ask that you try it out in your non-production environments initially and perhaps if you are confident there after, in your production environments.

The branch for it is here on github. I am personally grateful for people spending time and sending in pull requests , there is no monetary support for this driver although Oracle's open source community manager is actively engaged in discussions on issues and pull requests.

Github actions are configured on the repo and the quite thorough library of unit tests are run against Oracle XE on Ubuntu. This provides good signal but with extremely limited coverage of operating systems and database versions.

Due to the lack of variety in automated testing on Github - and the business critical nature of most Oracle databases - my recommendation is to mirror the Github repo in to your organization's repos and configure CI testing against your specific combination of Oracle versions, operating systems, and settings. The Github actions can be adapted to Gitlab reasonably quickly and give you a very high level of confidence before trialing new versions in production.

AWS S3 Encryption

Image for: AWS S3 Encryption


AWS S3 Encryption isn't as complex as I thought initially. I had fun playing with it. You can give it a try too. Please check out the link below for more information.
https://theweeklychallenge.org/blog/aws-s3-encryption

Learning XS - Closures

Image for: Learning XS - Closures

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 tenth post introduces you to what I call closures in XS.

Hello Datastar

Image for: Hello Datastar

Datastar is a new-ish entry in the world of hypermedia-oriented ,htmx alternatives, with a distinct focus on Server-Sent Events. It describes itself thus:

Datastar brings the functionality provided by libraries like Alpine.js (frontend reactivity) and htmx (backend reactivity) together, into one cohesive solution. It's a lightweight, extensible framework that allows you to:
  1. Manage state and build reactivity into your frontend using HTML attributes.
  2. Modify the DOM and state by sending events from your backend.

I added Perl for Datastar with Datastar::SSE, for the backend reactivity bits.

The PCC in July is Remote and Budget Friendly!

Image for: The PCC in July is Remote and Budget Friendly!

Hi, you my have noticed our "ad" showing up on on metacpan.org - many thanks to David Cross for helping us out there! You may have to hit "refresh" a few times to see it (but not too many, please! xD)

Now, as much as we'd love to see everyone in Austin, TX on July 3-4, and it's sure to be a lot of fun, the PCC is a hybrid event, meaning we do permit remote attendees and worthy talks.

We already have many exciting and highly technical Perl talks. But we are selfish and we want more. It is okay if you even repeat a talk you've given elsewhere. We offer several levels of talks, including lightning talks, which we all know is how most of us got started. Do not be afraid! :-)

This week in PSC (193) | 2025-05-29

Image for: This week in PSC (193) | 2025-05-29

Just Aristotle and Graham this week.

  • This week CVE-2025-40909 was assigned, for an issue we were already tracking (GH #23010). We coordinated during the week to get a fix merged (GH #23019) before 5.41.13. Thanks to Vincent Lefèvre for the report and Leon Timmermans for the fix. During the meeting we discussed getting out security releases for this soon.
  • We caught up on release blocker triage. We are tentatively all clear: all previously identified release blockers are now resolved, and there were no new blockers in recent issues and pull requests – except possibly a 32-bit Windows build issue we are not yet certain about. We are keeping an eye on that.

[P5P posting of this summary]

Learning XS - C data types

Image for: Learning XS - C data types
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 ninth post introduces you to C data types and how to expose them in perl.

LocalStack with AWS S3

Image for: 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

Welcome to the Perl Toolchain Summit 2025

Image for: Welcome to the Perl Toolchain Summit 2025

This post is adapted from my notes and recollection of the welcome speech I gave on the morning of Thursday May 1st, 2025, just before the initial stand-up.

This post is brought to you by Booking.com, the Diamond sponsor for the Perl Toolchain Summit 2025.

Booking.com is proud to sponsor the 2025 Perl Toolchain Summit as Perl continues to be a vital piece of our technology stack. We continue to rely on the Perl platform and tooling to serve millions of customers every day, helping them experience the world. Other than our interest in the evolution and modernization of the platform and tooling, the PTS is also a great opportunity to connect with the larger community and share learnings about how other companies and projects are tackling the challenges of working with Perl at scale (talking about both in systems and teams scalability), and how Perl fits an ever-changing and diverse technological landscape in other organizations.

You can learn more about Booking.com at the end of this article.

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

Image for: 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]

Testing distributions for potentially malicious Unicode

Image for: Testing distributions for potentially malicious Unicode

I was inspired by Daniel Stenberg's recent article Detecting malicious Unicode to write Test::MixedScripts, which tests Perl source code and other text files for unexpected Unicode scripts.

Why should you care about this?

There are Unicode characters in different scripts (alphabets) that look similar and are easily confused.

A malicious person could replace a domain name or other important token with one that looks correct, for is associated with a host or other resource that they control.

Consider the two domain names, "оnе.example.com" and "one.example.com". They look indistinguishable in many fonts, but the first one has Cyrillic letters.

Confusing Unicode might be added to your codebase through a malicious patch submission or pull request. Or it could be added as text from an email or web page that you copied and pasted into your code.

The module is easy to use, and defaults to testing for Latin and Common characters:

Sustainability, Resilience and Fun: Impressions from the German Perl/Raku Workshop 2025

Image for: Sustainability, Resilience and Fun: Impressions from the German Perl/Raku Workshop 2025

Returning from the 27th installment of the German Perl or Perl/Raku Workshop, this time in Munich, I'd like to share some impressions.

A different Perl Toolchain Summit

Image for: A different Perl Toolchain Summit

A week ago I attended the 2025 PTS. For me it was a different PTS than the previous ones.

Firstly because it was my first PTS without Abe Timmerman. He was a regular in both the PTS (as maintainer of Test::Smoke), and of the Amsterdam Perl Mongers. In fact the last time I saw him was on our flight back to Amsterdam after the PTS in Lisbon last year. He was greatly missed.

Secondly, because of a question that Book asked at the very beginning of the PTS: how often we had been to the PTS before. I was one of the few who had attended more than 10 of them. Combined with the fact that several other regular attendees couldn't make it that meant that this PTS I spent more time than ever on helping others with various issues.

Call for Papers! - Perl Community Conference, Summer 2025

Image for: Call for Papers! - Perl Community Conference, Summer 2025

This is a hybrid (in-person and virtual) conference being held in Austin, TX on July 3rd-4th.

Did you miss your chance to speak or have wish to speak at the only available Perl Science Track (and get published in the Science Perl Journal)? Or maybe you just can't get enough Perl this summer??? Submit here ... or get more information on the PCC, including registration, special event registration, and donation links click here. For questions you may email us at science@perlcommunity.org or find us in the Perl Applications & Algorithms discord server.

The following lengths will be accepted for publication and presentation:

  • Science Perl Track: Full length paper (10-36 pages, 50 minute speaker slot)
  • Science Perl Track: Short paper (2-9 pages, 20 minute speaker slot)
  • Science Perl Track: Extended Abstract (1 page, 5 minute lightning talk slot)
  • Normal Perl Track (45 minute speaker slot, no paper required)

You may ask, where is the Winter SPJ or videos? We are working on them, promise! (it's a lot of work as some of you know. See also on Perlmonks and r/perlcommunity.

Perl makes it to Futility Closet as a poem...

Image for: Perl makes it to Futility Closet as a poem...

A Futility Closet post references a Perl "poem" over two decades old. I remember chuckling at it when it first appeared. Although it was published "anonymously", I'm pretty sure I know who wrote it. :)

The Perl Toolchain Summit 2025

Image for: The Perl Toolchain Summit 2025

This weekend I was once again privileged to attend the Perl Toolchain Summit (PTS). This year it was held in the lovely city of Leipzig.

The PTS continues to be my favourite technical event of the year. In part this is because I get to meet old friends and make new ones, but it's also because the summit really serves its purpose and I am able to make so much progress on the projects I have which belong in Perl's toolchain ecosystem.

PTS isn't a conference - it's a four-day working meeting. It brings together people working on toolchain projects to solve common problems and push the work forward. I did get a lot of work done, but that's not the main focus, for me anyway. I see it as a time to solve problems and plan the way forward, and for me PTS facilitates that in the most wonderful fashion.

The sculpture shapes the sculptor.

Image for: The sculpture shapes the sculptor.

Parenting aint easy. Certainly it is often something your kids teach you. Even worse, it often starts with ”<INSERT_KIDS_FRIENDS_NAME>’s dad lets him do <INSERT_CURRENTLY_PROHIBITED_ACTIVITY>”. In this constant battle to shape your offspring into a model citizen, with the values you value, and turning him/her into a self-sustaining organism, one applies tools that enhance particular features, remove the superfluous or the undesirable.

Announce: Perl Wiki V 1.26

Image for: Announce: Perl Wiki V 1.26

Here we go: Download me

Julia in cruiser mode

Image for: Julia in cruiser mode

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.

Writing a 1GB file in perl

Image for: 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

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.