We rehashed the Perl version number discussion from last meeting now that we are all present. We will put together a document with our thoughts on this.
We will create a GitHub issue to make apostrophe removal feature-guarded.
Smartmatch (not so surprisingly) turns out to be too big to fail. Given its unique history, we are considering options for how to proceed with it in a more gradual way without giving up on the deprecation.
Regarding open undef (GH #22490), we agreed that Perl should support undef as a value and not just as a literal for the filename (and warn for the useless modes)
Spoiler Alert: This weekly challenge deadline is due in a few days from now (on September 29, 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: Closest Palindrome
You are given a string, $str, which is an integer.
Write a script to find out the closest palindrome, not including itself. If there are more than one then return the smallest.
The closest is defined as the absolute difference minimized between two integers.
This year's London Perl and Raku Workshop is just 4 weeks away. We now have a pretty full schedule, so the call for presentations is now closed, however we might have room for one or two more talks depending circumstances on the day. If you really think you have talk you want to give then get in touch.
As part of the workshop we would like to ask attendees if any are willing to volunteer for helping out on the day. This will likely include:
Room monitoring and video equipment operation
Registration of attendees
General assistance of organisers and attendees
We are probably looking for three people to help out on the day. Please contact the organisers if you would like to help out.
The London Perl and Raku Workshop will take place on 26th Oct 2024. Thanks to this year's sponsors, without whom LPW would not happen:
Spoiler Alert: This weekly challenge deadline is due in a few days from now (on September 22, 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: Valid Number
You are given a string, $str.
Write a script to find if it is a valid number.
Conditions for a valid number:
- An integer number followed by an optional exponent.
- A decimal number followed by an optional exponent.
- An integer number is defined with an optional sign '-' or '+' followed by digits.
Decimal Number:
A decimal number is defined with an optional sign '-' or '+' followed by one of the following definitions:
- Digits followed by a dot '.'.
- Digits followed by a dot '.' followed by digits.
- A dot '.' followed by digits.
It prompted me to take a serious look at the modules I have uploaded to CPAN and acknowledge that some of them are no longer valuable. Indeed as I reviewed one of them I was none too kind in my judgements against the author.
That made it quite easy for me to see how I can easily participate in CPAN day. I'm removing a couple of modules:
Business::Worldpay::Junior - I don't think this integration option even exists any more and I certainly haven't actively maintained this for years.
Net::UKDomain::Nominet::Automaton - Nominet withdrew the Automaton in 2015
Those are now scheduled for deletion on Monday next week.
I'll need to review some of the others and consider whether to open them up for anyone who is interested to take over as maintainer.
Sometimes the unexpected happens and must be shared with the world … this one is such a case.
Recently, I’ve started experimenting with Perl for workflow management and high-level supervision of low level code for data science applications. A role I’d reserve for Perl in this context is that of lifecycle management of memory buffers, using the Perl application to “allocate” memory buffers and shuttle it between computing components written in C, Assembly, Fortran and the best hidden gem of the Perl world, the Perl Data Language.
There at least 3 ways that Perl can be used to allocate memory buffers:
xe.com is a well known site for calculating the exchange value between the currencies of the world. However, there are times I’d prefer to query it from the command line. They have an API, but it’s not free, so I ended up writing a quick and dirty script that scrapes the web page and uses regexps to extract the data.
I know you’re not supposed to parse HTML with regexps, but sometimes, you can get away with it for a while. Also, this script is not that serious, so it can fail without hurting anything.
Spoiler Alert: This weekly challenge deadline is due in a few days from now (on September 22, 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: Strong Password
You are given a string, $str.
Write a program to return the minimum number of steps required to make the given string very strong password. If it is already strong then return 0.
Criteria:
- It must have at least 6 characters.
- It must contain at least one lowercase letter, at least one upper case letter and at least one digit.
- It shouldn't contain 3 repeating characters in a row.
Yep, that's right - the first dozen talks have been accepted for this year's London Perl and Raku Workshop. This puts our schedule at approximately 50% full, so if you are thinking about talking at the workshop then submit your proposal now!
If you aren't thinking about talking then have a think about what you've been doing in the Perl and/or Raku space the last five years, or even just the general IT and development space. Perhaps there's something interesting you can talk about? If you don't feel it's a full fat talk then submit a lightning talk instead.
The London Perl and Raku Workshop will take place on 26th Oct 2024. Thanks to this year's sponsors, without whom LPW would not happen:
Spoiler Alert: This weekly challenge deadline is due in a few days from now (on September 15, 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: Order Game
You are given an array of integers, @ints, whose length is a power of 2.
Write a script to play the order game (min and max) and return the last element.
I created a function in Perl called pg_dt, that will convert PostgreSQL’s datetime values into Perl’s DateTime values and vice versa. This is useful both when you want to store DateTime values into the database, or want to convert the pg datetime/timestamp value from the database into a DateTime object value that Perl can use.
I really can’t seem to include code blocks in my posts on this platform (tried Preview with Markdown and Markdown With SmartyPants without success), so you can read the rest of this article on my blog.
Spoiler Alert: This weekly challenge deadline is due in a few days from now (on September 15, 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: Self Spammer
Write a program which outputs one word of its own script / source code at random. A word is anything between whitespace, including symbols.
Example 1
If the source code contains a line such as: 'open my $fh, "<", "ch-1.pl" or die;'
then the program would output each of the words { open, my, $fh,, "<",, "ch-1.pl", or, die; }
(along with other words in the source) with some positive probability.
Example 2
Technically 'print(" hello ");' is *not* an example program, because it does not
assign positive probability to the other two words in the script.
It will never display print(" or ");
All present, and this time the meeting actually ended on time.
We discussed the situation with the apostrophe package separator removal. We continue to keep an eye on things but it now feels close to inevitable that we will use a feature to disable it conditionally.
We briefly touched on the removal of smartmatch, where both the extent of the situation and our thoughts so far are much less clear.
Connected to all that, we discussed some general thoughts on how not to keep finding ourselves in the same situation with changes like this, but found we probably already have all the mechanisms we need.
We decided that the provisions of the PPC process are the right way for pre-PPC “Signature named parameters” to play out so it has now become PPC 0024 with status “Exploratory”.
We took another brief look at the closure memory leak which is now #22547 and resolved to prepare to put down a consensus next time we meet.
Hi All! Given the number of talks submitted to this year's London Perl & Raku Workshop we have decided to reserve a third room in the venue. This will give us a bit more room on the schedule for talks, which is good as the other two rooms are now 90% full.
However, we would also like to use this third room for something else. Its capacity is relatively low, 15 people including the person presenting, so we feel it might be suitable for use as a breakout room / mini hackathon(s) / birds of a feather; and we will probably reserve two large slots for this. If you have an idea of something you'd like to use the room for then please get in touch with us.
Another way we can make more space for talks is to opt for lunch at the venue, this will free up space for three more talks. To do that we need a couple more sponsors so if you would like to help with that then please have a look at the options here: https://act.yapc.eu/lpw2024/sponsoring.html
The London Perl and Raku Workshop will take place on 26th Oct 2024. Thanks to this year's sponsors, without whom LPW would not happen: