Socket-2.037
networking constants and support functions
Changes for 2.037 - 2023-06-06
- CHANGES
- BUGFIXES
networking constants and support functions
Changes for 2.037 - 2023-06-06
Verify that the given mailbox exists
Changes for 0.11
Find if the username has a valid mailbox in gmail
Changes for 0.19 - 2023-06-06
API for the OAI-PMH
Changes for 4.13 - 2023-06-06T11:43:51Z
Verify that the given mailbox exists
Changes for 0.10
SPVM Language
Changes for 0.989 - 2023-06-06
Inspect musical modal functions
Changes for 0.0312 - 2023-06-05T23:24:55Z
Inspect musical modal functions
Changes for 0.0311 - 2023-06-05T23:13:13Z
An open source web-based network management tool.
Changes for 2.062002 - 2023-06-06
Check out our new newsletter! It's packed full of updates and conference information!
[Hello World 1.pdf](ra-rel-mnt/simplecas/fetch_content/5a6c1e4d5a8fbd000edee91334d3f3c19f2b5120/Hello World 1.pdf)
Don't want to click that? Here's the text version of the info:
*Hello (TPRF) World!
Welcome to the first installment of the TPRF Newsletter. *
Time for another TPRC 2023 update!
A reminder to all folks traveling from outside Canada (that's most of you) to attend TPRC 2023, go ahead and check that you have your passport! You're going to have to show that off to enter the country.
Dave Rolsky's course o…
A reminder to all folks travelling from outside Canada (that's most of you) to attend TPRC 2023, go ahead and check that you have your passport! You're going to have to show that off to the folks at the border.
Dave Rolsky's course on Go is now available on Eventbrite. The cost of the course is $125USD, and it's taking place at the Doubletree Hilton on Friday July 14, right after the TPRC 2023 conference. Reserve your spot here: https://sched.co/1NIEL
You haven't registered for the conference yet? Visit the website at https://tprc.to and set aside July 11-13 (Tuesday to Thursday) for three days…
The Perl and Raku Conference for 2023 will again feature a Hackathon Room. On July 10th, the Marketing Committee plans to coordinate activities for projects that have a broad impact on Perl.
We hope to involve 2-3 high impact projects and any number of smaller projects.
The committee will provide logistical and non-coding support for projects that want it. We want to help by:
matching people to projects and projects to people
keeping a record of commits and achievements for a post-event blog post
answer other questions like "where are bathrooms?" and "what is the wifi password?"
print and hang some…
The Perl Foundation fosters continued development and use of Perl and Raku. As an open source programming language with a largely open source minded community, contributions to Perl and Raku are rarely rewarded. One of the many activities of The Perl and Raku Foundationhas been to reward these activities through Grants.
There are as many ideas as there are people reading this post, indeed it is likely that many people will have more than one idea. Indeed there will be many of you who have the skills and the time but need something to work on: see ideas suggested before. Here is an opportunity f…
Perl is a powerful programming tool that is deeply embedded in Linux and continues to form a critical component in diverse sets of applications. As such it needs continuous maintenance, optimisation and bug fixing. A mature language still relies of magic hidden away in its core that handles things like memory allocation, reference counting, and cope with complex algorithms which the initial developers may not have considered when the interpreter was being developed.
Two key strengths of Perl are 1) that it allows more than one way to do things 2) it remains backwardly compatible; new evolutions…
We have another grant application from John Napiorkowski you may recall being involved in getting Perl Bindings for Tensor Flow, and the inimitable Will Braswell also involved in TF Perl, amongst many other projects integral to Perl and RPerl. This time they have paired up to create an AI that speaks in Perl: Perl-GPT.
Applicants John Napiorkowski & Will Braswell
Amount Requested:
The budget for this project is $8,800 USD
Synopsis
This grant proposal is for phase 1 only of the development of PerlGPT, a large language model (LLM) comparable to ChatGPT 3.5/4.0 or Stanford Alpaca, and trained on Perl…
I've released MooseX::Extended 0.35 and it resolves a long-standing bug. If you tried to use multi
subs, it would trigger this bug in Syntax::Keyword::MultiSub. To fix that, you had to manually patch the latter module:
--- old/lib/Syntax/Keyword/MultiSub.xs 2021-12-16 10:59:30 +0000
+++ new/lib/Syntax/Keyword/MultiSub.xs 2022-08-12 10:23:06 +0000
@@ -129,6 +129,7 @@
redo:
switch(o->op_type) {
case OP_NEXTSTATE:
+ case OP_DBSTATE:
o = o->op_next;
goto redo;
Not good. However, Syntax::Keyword::MultiSub 0.03 has been released with that patch included, so…
These are some answers to the Week 220, 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 11, 2023 at 23:59). This blog post offers some solutions to this challenge. Please don’t read on if you intend to complete the challenge on your own.
Common CharactersYou are given a list of words.
Write a script to return the list of common characters (sorted alphabetically) found in every word of the given list.
Example 1
Input: @words = ("Perl", "Rust", "Raku")
Output: ("r")
Example 2
Input: @words = ("lov…
Hi everybody! This week again because of time I only finished the first challenge of The Weekly Challenge. However, because work for my client requires Python, I'm busy learning Python and I thought "Why not do Python for a simple weekly challenge task?" This is the first Python code I've ever truly written and not just modified!
First, the Perl:
say $_ for (sort {$a <=> $b} (map {$_ * $_} @ARGV));
Yep, a one-liner. Normally I prefer to write longer, more readable code, but this time the task was so simple it made sense just to write it on one line.
We map each argument on the command line…
Four years have passed since the last Perl Toolchain Summit (PTS) in Marlow. I planned to continue working on PAUSE's web UI, but I didn't exactly remember what to do. So the first thing I did at home before the PTS was to read through the PAUSE issues and do some triage. I also resumed a virtual machine that held PAUSE clones I had worked on. There I found an untracked docker-compose.yml. It was incomplete. I must have given it up because I already had a working environment. However, I remembered a few people wanted an easier way to install PAUSE. It would be helpful if they could run PAUSE o…
These are some answers to the Week 219, 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 4, 2023 at 23:59). This blog post offers some solutions to this challenge. Please don’t read on if you intend to complete the challenge on your own.
Sorted SquaresYou are given a list of numbers.
Write a script to square each number in the list and return the sorted list, increasing order.
Example 1
Input: @list = (-2, -1, 0, 3, 4)
Output: (0, 1, 4, 9, 16)
Example 2
Input: @list = (5, -4, -1, 3, 6)
Output: (1…
These are some answers to the Week 218 of the Perl Weekly Challenge organized by Mohammad S. Anwar.
Note: the programs presented here were written several days ago, but I was unable to write this blog post in time due to various reasons, including lack of time and some serious problems with my computer.
Task 1: Maximum ProductYou are given a list of 3 or more integers.
Write a script to find the 3 integers whose product is the maximum and return it.
Example 1
Input: @list = (3, 1, 2)
Output: 6
1 x 2 x 3 => 6
Example 2
Input: @list = (4, 1, 3, 2)
Output: 24
2 x 3 x 4 => 24
Example 3
Input: @li…
[This post might sound like I’m angry at people making it hard to make progress on some things. That’s not the case at all. I realise completely that people have limited time and they get to choose how they spend it. If people are too busy elsewhere or have moved on to other projects then that’s just how it is and we need to deal with that the best we can.]
Back in December 2020, I wrote a blog post about how I wanted to fix a long-standing problem with App::HTTPThis. I’m happy to report that two and a half years later, the problem has been fixed.
To summarise my previous blog post:
Originally published at Perl Weekly 619
Hi there!
There are way too many CPAN modules that are abandoned or at least not maintained. Even many central ones rarely see activity. It is not very surprising though. Many people who used to develop and maintain these modules have moved to some job where the particular module is not needed or even where they use other languages. Actually I see similar things in Python as well, but let's focus on Perl now.
Encountering an issue in such a module that is hardly maintained is a frustrating experience as you could also read in the recent article of Dave Cros…
Hi everybody! This week again because of time I only finished the first challenge of The Weekly Challenge. However, because work for my client requires Python, I'm busy learning Python and I thought "Why not do Python for a simple weekly challenge task?" This is the first Python code I've ever truly written and not just modified!
First, the Perl:
say $_ for (sort {$a <=> $b} (map {$_ * $_} @ARGV));
Yep, a one-liner. Normally I prefer to write longer, more readable code, but this time the task was so simple it made sense just to write it on one line.
We map each argument on the command line…
I'm always amazed at how far technology has come. If you told me twenty years ago, I'd be completing this challenge 41,000 feet in the air on a device that is $300 (about US$200), I'd totally laugh at you :)
Unfortunately the budget airline I'm flying with (Air Asia X) doesn't offer WiFi, otherwise I could also push this 41,000 feet in the air too.
Weekly Challenge 219 Task 1: Sorted Squares TaskYou are given a list of numbers.
Write a script to square each number in the list and return the sorted list, increasing order.
My solutionThis is straight forward, so doesn't need much…
Originally published at Perl Weekly 618
Hi there,
It seems we have been spoiled with the in-person conference. For all the Perl fans, we got two choices, The Perl and Raku Conference in Toronto and The Perl and Koha Conference in Helsinki. I would highly recommend the one convenient to you. We all need to come together and share the knowledge.
I am all set for the one in Toronto. Thanks to the organisers, I got the time slot to give a talk on The Weekly Challenge. Looking at the list of attendees and speakers, it is going to be fun 3 days event. Looking forward to meet fellow Team PWC members at…
You are given a list of 3 or more integers.
Write a script to find the 3 integers whose product is the maximum and return it.
My solutionThis seemed straight forward. Sort the numbers numerically and multiple the three largest numbers to get a solution. But it's not that simple.
The last example shows that the solution is obtained by multiple the lowest two numbers and the largest number. We know that if we multiple an even number of negative integers, the result is positive. Multiplying an odd number of negative numbers is alw…
The only correct approach for UTF-8 strings in Perl.
A string is treated as byte sequences without any flags.
Separate functions that handle UTF-8 from functions that handle byte sequences. The following is an example of the substr
function.
substr_bytes
substr_utf8
The use utf8_func
pragma replaces substr
with substr_utf8
.
The use bytes_func
pragma replaces substr
with substr_bytes
.
Feel free to comment.
AI-Embedding | BOD | Perl module for working with text embeddings using various APIs | 2023-05-30T11:02:58 |
Acme-NameChangeTEST | NEILB | module for testing module name changes in PAUSE | 2023-05-11T10:40:34 |
Acme-NameChangeTest | NEILB | module for testing module name changes in PAUSE | 2023-05-11T09:13:48 |
Acme-No-MakefilePL-No-BuildPL | CONTRA | Module for testing CPAN | 2023-05-04T09:20:21 |
Acme-Onion | KFLY | .🧅 file extension in Perl. | 2023-05-06T10:44:13 |
App-News | SCHROEDER | a web front-end for a news server | 2023-05-22T07:32:33 |
App-news | SCHROEDER | a web front-end for a news server | 2023-05-22T09:55:14 |
App-pepper | GBROWN | A command-li… |
Acme-Testing-BadPackages-WithRootdir | GARU | 2023-04-27T14:30:03 | |
Acme-Testing-BadPackages-WithoutRootdir | GARU | 2023-04-27T14:28:36 | |
AcmeTestingBadPackagesWithoutRootdir | GARU | 2023-04-28T07:15:05 | |
Alien-FluentBit | NERDVANA | libfluent-bit.so and fluent-bit commandline tool | 2023-04-20T09:20:35 |
App-ActivityPubClient | LANODAN | CLI-based client / toolbox for ActivityPub Client-to-Server | 2023-04-04T15:54:04 |
App-ApClient | LANODAN | CLI-based client / toolbox for ActivityPub Client-to-Server | 2023-04-04T15:28:44 |
App-ArduinoBuilder | MATHIAS | Build system for Arduino programs | 2023-04-24T22:08:03 |
App-Prove-Plugin-KohaBootstr… |
These are the five most rated questions at Stack Overflow last week.
Between brackets: [question score / answers count]
Build date: 2023-06-03 20:35:56 GMT
This is the weekly favourites list of CPAN distributions. Votes count: 28
Week's winner (+3): OpenAIGPT4
Build date: 2023/05/27 18:10:59 GMT
Clicked for first time:
Increasing its reputation:
This is the weekly favourites list of CPAN distributions. Votes count: 53
Week's winner: Lingy (+2)
Build date: 2023/05/20 20:32:46 GMT
Clicked for first time:
Birthstones are said to be token of good fortune. It is a well-known fact that birthstones comprise of a wide range of properties in…
Whaaaaat??????? I…am…officially…spooked. Yeah, I knew I could use map but I was lazy and it’s Friday…just write the dummy version and let…
Many people have a consumer grade camera like GoPro, these cameras are nice and resistant to create action videos and shots in the water…
TL;DR
Back to packet dissection for troubleshooting…
Amarcord is a movie by Federico Fellini that mean “I remember”. Well,
after a few years (some 20), I’m back looking at raw network-level
captures from tcpdump
to figure out what’s going on with some devices that
seems to give bad answers.
On the other hand, it might be the client that is not able to understand those same answers. I’m more inclined to blame the server, though.
At a higher level, I had the joy of coding a quick client myself in Perl, sending the same request to the server and not getting an error. Which led me to think that the ot…
TL;DR
I shared validns, a small tool for DNS validation.
I wanted to do some validation upon a few domains lately, and it was an excellent occasion to use module Net::DNS. The result for what I coded so far is shared in repository validns.
At the moment it does the following checks:
I actually coded something to get WHOIS data about the domains, leveraging the free tier in the whoisjson.com web service. This part will…
TL;DR
An addition to A cheap trick to manipulate PERL5LIB.
In A cheap trick to manipulate PERL5LIB, from a long time ago, we saw
a way to generalize setting the PERL5LIB
variable and reuse this
generalization.
The approach works fine when stuff is installed in a specific directory,
which is usually the bin
directory in a local
installation of modules.
This worked very good for applications that are available as, or in,
distributions.
Which led me to an additional trick that made the whole thing cheaper:
using a cpanfile
. So I have a perl-tools
directory, with a cpanfile
inside, and a short script…
TL;DR
The challengeOn with TASK #2 from The Weekly Challenge #219. Enjoy!
You are given two list, @costs and @days.
The list @costs contains the cost of three different types of travel cards you can buy.
For example @costs = (5, 30, 90)
Index 0 element represent the cost of 1 day travel card. Index 1 element represent the cost of 7 days travel card. Index 2 element represent the cost of 30 days travel card.
The list @days contains the day number you want to travel in the year.
For example: @days = (1, 3, 4, 5, 6)
The above example means you want to travel on day 1, day 3, day 4, day 5 and day 6 of…
TL;DR
The challengeHere we are with TASK #1 from The Weekly Challenge #219. Enjoy!
The questionsYou are given a list of numbers.
Write a script to square each number in the list and return the sorted list, increasing order.
Example 1
Input: @list = (-2, -1, 0, 3, 4) Output: (0, 1, 4, 9, 16)
Example 2
Input: @list = (5, -4, -1, 3, 6) Output: (1, 9, 16, 25, 36)
Well, possibly I’d ask the range/domain of the input numbers, to figure out whether I have to get some big-numbers library for languages that need it.
The solutionWe will just follow the indications: square the numbers, sort them in increasing o…
TL;DR
From time to time it is useful to explore a directory tree through the browser, e.g. to make it accessible remotely. There are a lot of solutions do do this around, in a plethora of languages; I recently discovered serve_this.
The good thing is that it’s based on Mojolicious, which is a breeze to install, as long as the associated plugin for doing the fancy directory indexing Mojolicious::Plugin::Directory::Stylish.
Another Perl-based alternative is [http_this][], although these days I don’t usually fiddle with Plack, so it’s somehow more distant.
Why Perl, you might…
I looked at whether I’d blogged about my CPAN distribution analyzer before, and I did. I wrote something eight years ago that began:
Just about exactly five years ago, I wrote a goofy little program that walked through all of the CPAN and produced a CSV file telling me what was used to produce most dists. That is: it looked at the
generated_by
field in the META files and categorized them.
So I guess it’s thirteen years old now! Wow.
As an aside: the first run, thirteen years ago, showed that about 2% of indexed CPAN distributions used Dist::Zilla. Five years…
Yesterday I said that in addition to a bunch of little work, I worked on one big change. That was true! It was still one thing all around email, indexing, and error reporting. These three were closely related, because the code is so intertwined. Here’s an example:
In newer perls, you write a package statement in one of these two ways:
package Code::Reusable 1.234;
sub something_in_package { ... }
##
## …or…
##
package Reusable::Code 1.234 {
sub something_in_package { ... }
}
Here, the versions must be “strict”, meaning you can either write a simple ration…
In past years, one of my big areas of work at PTS has been PAUSE. If you’re not a CPAN wonk, here’s a tiny explainer: PAUSE is the Perl Author Upload SErver. It’s where you go to upload new software to the CPAN, and to manage the permissions on packages for which you’re the administrator. It’s got a number of interrelated pieces, but the two easiest units to describe are the web interface and the indexer.
The web interface lets you log in, update your profile, manage permissions, and some other things like that. For the most part, the business logic and model code is directly written into the w…
Ten years ago, the “toolchain gang” who manage the libraries most central to deploying and testing CPAN libraries came to an agreement on the minimum supported version of perl. Nobody needed to keep maintaining v5.6, and everyone who hadn’t already, moved to v5.8. That was ten years ago, but the toolchain was still pinned to v5.8. I am not enthusiastic about targeting v5.8, and have written about this before. I bumped some modules to v5.12, earlier this year. I got some feedback, both positive and negative, but I felt good about it.
This year, a number of people wanted to talk about bumping the…
It’s been three years since the last Perl Toolchain Summit. In 2019, I wasn’t sure whether I would go. This time, I was sure that I would. It had been too long since I saw everyone, and there were some useful discussions to be had. I think that overall the summit was a success, and I’m happy with the outcomes. We left with a few loose threads, but I’m feeling hopeful that they can, mostly, get tied up.
I’ll be posting updates over the next week or two, I suspect, because I’m not sure I can get everything down on paper right away. As I do, I’ll update this post with links into those. In the mean…
![]() |
submitted by /u/oalders [link] [comments] |
I'm a beginner at Perl 5 and using VS Code. I've searched for Perl 5 tutorial everywhere, but couldn't find a good one. Please, if you know a known guy that have a good video or playlist about Perl 5 send it to me:)
submitted by /u/DarkGamermn214 ![]() |
submitted by /u/palordrolap [link] [comments] |
![]() |
submitted by /u/perlancar [link] [comments] |
Flavio Poletti recently blogged about
using Barcode::ZBar
for reading QR codes. In a previous life I have
written applications for workflows that involved reading QR codes from
documents and have also used Barcode::ZBar
very effectively…highly
recommended.
Back then, iirc I had quite a struggle satisfying all of the dependencies required to get it actually work. I spent a little time after reading his article to see I could successfully build it once more, this time in a Docker container. The result is this project:
It was a little difficult piecing together the required packa…
map
The code below violates more than a few best practices making the intent of the code difficult to understand. Let’s get started…
User
Can you refactor this snippet of Perl code?
if (@multi_elems) {
my $delim_qr1 = qr/\d+$group_delim1/o;
#my $delim_qr2 = $group_delim2;
foreach my $entry ( @log_data{@EIDs} ) {
@{$entry}{@multi_elems}
= map {
my $x = $_;
$x && ( $x =~ s/$delim_qr1//go )
? [
# XXX: if $_ =~ m/^($group_delim2)+$/
# the result is…