This week in PSC (176) | 2025-01-16

Just Graham and Philippe this time.

  • We talked a bit about PPC 0025 (Perl version), but didn’t say anything new
  • Regarding PPC 0030 (new operators) vs PPC 0031 (flags on operators), we continue to think that flags on operators bring more confusion than value (PSC #168). Perl is an operator-rich language, so adding new operators when needed sounds right.
  • As for the discussion on implicit stringification of references, we think that adding more runtime effects to strict doesn’t really fit. The issue would likely be better addressed with a new warning (and is very similar to the uninitialized warning when dealing with undef).

[P5P posting of this summary]

Please keep your information up-to-date

Some end of year reminders for CPAN Authors:

Do all of your modules have up-to-date contact information? If not, please release new versions with an updated email address in the AUTHOR section.

(And while you're at it, why not add a security policy to your distribution, so that people know how and where to report a security issue with your module.)

If you have a cpan.org email alias, does it forward to the correct email address?

And most importantly, if you are taking time away from maintaining Perl modules, please add ADOPTME or NEEDHELP as co-maintainers to mark your modules as available.

Thanks, and best wishes for 2025.

Promise in Perl

Recreating the Future using Promise::ES6.
Please checkout this post for more information.

https://theweeklychallenge.org/blog/promise-in-perl

Cosmoshop supports the German 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.

This week in PSC (175) | 2025-01-09

Three of us again. Aristotle had limited time, Philippe and Graham stayed longer.

Wide character (U+XXXX) in substitution (s///)

There is a “use locale” somewhere in the code you are running.

**Update:** This is specifically in reference to warning about wide characters *“in substitution”*. See also [the follow-up entry](/users/aristotle/2025/03/once-more-subst-widechar-warning.html).

PPI Signatures Trial Release - Feedback Requested

SYNOPSIS

I have just released a trial version of PPI that includes the first shot at support for Perl signatures. After installing it, you can access this feature in the following ways.

For users of perlcritic and other PPI consumers:

  • include use 5.035; or higher in your code
  • include use feature 'signatures'; in your code
  • include a known signatures-enable strictures modules from CPAN in your code, e.g. Mojolicious::Lite, Modern::Perl
  • if you enable signatures via a custom strictures module, declare it via %ENV: PPI_CUSTOM_FEATURE_INCLUDES='{MyStrict=>{signatures=>1}}' perlcritic Work.pm

For consumers of PPI, in addition to the above:

  • enable recognition of custom parsing feature modules via: PPI::Document->new( custom_feature_includes => ... )
  • enable the custom parsing feature for the entire document via: PPI::Document->new( feature_mods => ... )
  • enable complex parsing of calls to module includes via: PPI::Document->new( custom_feature_include_cb => ... )
  • query enabled features via ::Element->presumed_features

In a similar way as signatures, the core try feature is also recognized.

TODO

Registration is OPEN - Perl Community Conference, Winter 2024

The Perl Community Conference is a hybrid in-person-and-online event held on December 18th from 10:30a-4:30p CST. Perl's 37th birthday, featuring talks from the world's top Perl programmers and community members. Topics include artificial intelligence, bioinformatics, web applications, chemometrics, genetics, data science, high performance computing, ethics, and much more! Join our mailing list to receive the latest updates!

Sign Up:

https://www.meetup.com/austin-perl-mongers/events/304573306/

We have secured a location for anyone looking for a place to participate in person to be. At least 2 Conference talks will be given and streamed LIVE from this location.

See some of the many accomplishments of the Science Perl Committee in just the last year:

https://www.reddit.com/r/perlcommunity/comments/1gvtv7s/first_year_accomplishments_of_the_science_perl/

At the conclusion of this Conference, we will be announcing our exciting plans for Summer 2025 and future Issues of the Science Perl Journal. Full abstracts for current Issue are now available for free at the site.

Cheers,

Brett Estrade (OODLER)

Science Perl Committee Chairman

This week in PSC (174) | 2025-01-02

Just Aristotle and Graham for our first meeting of the new year. Not much progress since the last one due to Christmas, New Year’s, sickness, and other personal circumstances. We discussed our framing of the version bump, the timeline for a decision, and the fact that constraints push us toward a dummy .0 third version component as the simplest way forward.

[P5P posting of this summary]

Scientist in Perl

Have you heard of CPAN module Scientist?
Please find below a gentle introduction.
https://theweeklychallenge.org/blog/scientist-in-perl

I wish Mojo::UserAgent could be made to not visit private IPs

Someone wanting to make a social media site (such as a Mastodon server & web client for example) will want to allow its users to post URLs, for which previews will be shown in their posts.

These posts will be visited by a UserAgent, but there is the risk that a private IP (disguised as a FQDN hostname that resolves to it) will be in the URL's host, and that might cause security issues.

I could use LWP::ParanoidAgent, but then I'd have to fork a process to make the whole thing async, like a good Mojolicious site will be, and too many processes running can be a problem. Also I'd be missing on the many Roles that exist for Mojo::Useragent.

So I opened this issue on Mojolicious's github wishing for a solution.

London Perl & Raku Workshop 2024: Recordings & Thoughts

Recordings of all talks from this year's London Perl & Raku Workshop are now available on YouTube: https://www.youtube.com/playlist?list=PLxNdCz2kBhVlzbVFcjwY6GkQf4zBhvwFn.

The sound quality of the recordings is not fantastic. We had some sort of issue that I've tried to fix in post. However, the auto generated captions by YouTube tend to be pretty good these days, so enable those if you have any problems understanding the speaker.

I go into the details a bit more about this in a personal blog post about the event, and how much effort is involved in trying to create the recordings, amongst other things.

Thanks to this year's sponsors, without whom LPW would not have happened:

Perl Weekly Challenge 293: Similar Dominoes

These are some answers to the Week 293, 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 November 3, 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:

You are given a list of dominoes, @dominoes.

Write a script to return the number of dominoes that are similar to any other domino.

$dominoes[i] = [a, b] and $dominoes[j] = [c, d] are same if either (a = c and b = d) or (a = d and b = c).

Example 1

Input: @dominoes = ([1, 3], [3, 1], [2, 4], [6, 8])
Output: 2

Similar Dominoes: $dominoes[0], $dominoes[1]

Example 2

Text Extraction in Perl

Ever wanted to extract text from an image in Perl?
Here is my story to do the same.
Enjoy !!!

https://theweeklychallenge.org/blog/extraction-in-perl

This week in PSC (166) | 2024-10-31

We were joined by Leon Timmermans and Tim Legge to discuss plans for TLS support in core.

  • We talked about our inadequate handling of point releases and especially security releases. In the past this was handled on individual initiative. We need to institutionalize at least some of this as actual process to keep things on the rails.
  • We discussed with Leon and Tim what we want to do to have TLS support in core. Future support for underlying APIs other than OpenSSL is desirable. Net::SSLeay also has cruft that we would prefer to avoid in core.

[P5P posting of this summary]

LPW 2024

I was one of the organisers of the London Perl and Raku Workshop 2024, which happened last weekend. I've written about my own personal experience of this conference over on my personal blog.

London Perl & Raku Workshop 2024: Quick Afterwords

A longer blog post will follow, likely on my personal site (I'll try to avoid it sitting in my drafts folder for too long). In the meantime, thanks to all who attended, spoke, volunteered, helped, advertised, promoted, linked to, encouraged, and so on, this year's London Perl & Raku Workshop. I think it worked out.

scarf.jpeg

Scarves. This year's surprise swag, a 20th anniversary scarf rather than the usual t-shirt. We sill have a few of these left and I'm happy to send you one if you cover the cost of postage and packaging (roughly 15.- CHF). Please email the organisers if you would like one. It wil be first come (emailed) first served. Any that remain I will probably take to GPW next year to give away.

Videos. I will be processing these over the next couple of weeks. Expect them to be available on YouTube sometime mid November.

Feedback. If you attended the workshop it will really help us if you fill in the feedback form. All questions are optional and it is anonymous. Approximately 120 people attended the workshop - if half of you can complete the form that would be smashing.

Next Year? We have no plans. Yet.

Thanks to this year's sponsors, without whom LPW would not have happened:

Future in Perl


Have you worked with asynchronous task? If yes then this is one way of doing it in Perl.
Please checkout this post for more information.

https://theweeklychallenge.org/blog/future-in-perl

This week in PSC (165) | 2024-10-25

This week’s meeting was delayed by scheduling conflicts because we chose consistency and availability over partition tolerance. We spent the entire meeting working on the document we wanted to put together a month ago with our thoughts on the Perl version number, which we intend to publish very soon.

[P5P posting of this summary]

Perl Weekly Challenge 292: Twice Largest

These are some answers to the Week 292, 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 October 27, 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: Twice Largest

You are given an array of integers, @ints, where the largest integer is unique.

Write a script to find whether the largest element in the array is at least twice as big as every element in the given array. If it is return the index of the largest element or return -1 otherwise.

Example 1

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.