Read and write parts from data section
Changes for 0.091 - 2023-01-20
work with International Standard Book Numbers
Changes for 3.008 - 2023-03-23T19:56:57Z
Browse SQLite/MySQL/PostgreSQL databases and their tables interactively.
Changes for 2.322 - 2023-03-23
remote control mpv (https://mpv.io)
Changes for 1.01
command-line client for Filite servers
Changes for 0.001001 - 2023-03-23
command-line client for Filite servers
Changes for 0.001000 - 2023-03-23
An Argon2 encoder for Crypt::Passphrase
Changes for 0.006 - 2023-03-23T17:39:51+01:00
Time zone object base class and factory
Changes for 2.58 - 2023-03-22
Perl Memory Analysis Tool
Changes for 0.51 - 2023-03-23
It’s time to plan TPRC 2024. If you are interested in organizing the event in your city, please submit a proposal by April 28th.
Please view the information, along with a sample RFP you can send to possible vendors here. When ready to submit your proposal, please use the same form.
If you have any questions, please contact us at hello@perlfoundation.org .
This report is a collaboration between Dr. Ann Barcomb's research lab and TPRF.
The research was primarily conducted by Aadharsh Hariharan. The goal of this research project is to analyse the current existing volunteering scenario within these communities and create techniques that will help in better management of volunteers. The Perl community is ideal for this research project as there is no single large corporate entity behind the communities.
Please click here to view the report in it's entirety.
We will be discussing the report at the next Community and Reps meeting, which will be held on…
TPRF is looking for community input on the future of the TPRF website(s).
We are asking for community members to submit proposals for the Perl/Raku website(s). The proposals would ideally address the following:
* Should there be separate websites for Perl and Raku, with a single set of main content that will be on both pages, or should TPRF continue to operate with one website, but feature separate sites for language specific donations?
* An approach to the professional graphic designing of the website (Please provide links to any examples/existing websites that show what a website along these li…
The Perl & Raku Conference is a high-quality, inexpensive technical Conference that celebrates the Perl and Raku programming languages. The beauty of the conference is that it remains accessible to everyone regardless of experience, yet it is still valuable to the most skilled programmers.
The Perl & Raku Conference 2023 will be held in Toronto, Ontario, Canada from July 11-13, 2023.
The deadline to submit your talks is coming up quickly! Please visit https://www.papercall.io/tprctor23 to submit your talk before March 31st.
The Perl and Raku Foundation is delighted to announce that the annual North American Perl and Raku Conference will be held in Toronto, Canada on July 11 to 13, 2023. The venue will be the DoubleTree (a Hilton Hotels property), located at 108 Chestnut St in downtown Toronto. That's directly North from Toronto's city hall, close to public transit and one of the country's biggest malls, the Toronto Eaton Centre.
Toronto is Canada's largest city, and the city and surrounding area offers many attractions for a vacation before or after your conference attendance. For…
The Perl & Raku Foundation would like to thank all of our community volunteers that helped run the TPRF stand at FOSDEM this year. The stand was successful in spreading interest in the Perl and Raku languages and promoting involvement in our communities.
A special thank you to Theo van Hoesel for providing these photos.
Notice
Thanks to demerphq and Sebastian Schleussner's comments, we should visit a better and easy way to do a regex matching in Perl now. It is not Regexp::Assemble introduced two weeks before - the…
These are some answers to the Week 209 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 March 26, 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.
Task 1: Special Bit CharactersYou are given an array of binary bits that ends with 0.
Valid sequences in the bit string are:
[0] -decodes-to-> "a"
[1, 0] -> "b"
[1, 1] -> "c"
Write a script to print 1 if the last character is an “a” otherwise print 0.
Example…
First of all, a greeting. I posted an introduction with a notification of intent to take over a module on CPAN, but the maintainer responded to me. I'm Avery, I'm developing SeekMIDI, a small graphical MIDI sequencer. I started it in 2016 and I took a long break from programming entirely, and I've just restarted developing my programming skills again. For starters, I'm working on Perl Weekly Challenges and bug fixes to modules.
Without further ado, here are my solutions to the PWC #208. All solutions are about to be posted, but this could be a spoiler if you're trying to solve it too. I was ver…
Hi ! Everyone there ! How are you ?
Until recently I runs all of my Perl scripts as well as Perl_CGI scripts by starting the folowing salutation,
#! /usr/bin/perl -w
The script with this beginning runs well at BASH shell at (/home/mkido/bin) LINUX such as Fedora, Ubuntu, Rocky (Alma-derivative). However, almost right now I noticed some of Perl example around has the different first line as below,
#! /usr/bin/env perl
And it doesn't seem to run at HOME BASH shell (/home/mkido/bin) by simple way of executing it by-itself by the command line. Will someone explain me about what is this [env perl] stuff…
These are some answers to the Week 208 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 March 19, 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.
Task 1: Minimum Index SumYou are given two arrays of strings.
Write a script to find out all common strings in the given two arrays with minimum index sum. If no common strings found returns an empty list.
Example 1:
Input: @list1 = ("Perl", "Raku", "Love")
@lis…
Quoth the fine manual for Template Toolkit:
The
DEFAULT
directive is similar toSET
but only updates variables that are currently undefined or have no "true" value (in the Perl sense).
Nice. Basically, where SET
is like the =
operator in Perl, DEFAULT
is like the ||=
operator. Quite useful! If it were, that is. Because the analogy is only superficially true.
You see, DEFAULT
in Template Toolkit does not short-circuit: it evaluates the right-hand side before it checks whether the expression on the left-hand side is true. If you deparse the compiled template it is obvious why:
SET foo = bar ;
# comp…
This is a story of one of those nice incidents where something starts off simple, then spirals out of control for a while but, in the end, everyone wins.
On Reddit, a few days ago, someone asked ‘Is there a “Planet Perl” with an RSS feed?’ and a few people replied, pointing out the existence of Planet Perl (which is the first Google result for “Planet Perl”). I’m obviously not marketing that site very well as every time I mention it, I get people (pleasantly) surprised that it exists.
On this occasion, it was Elvin Aslanov who seemed to discover my site for the first time. And, very soon afterwa…
Hi there,
My 6 years old twins reminded me on Sunday morning about Mother's Day. Although I didn't even know such day existed when I was in India but this country exposed me to all kind of celebrations. I miss my mom a lot. Let me share with you one of my childhood memory. During my school days, everytime somebody complain to my mom about my fight she wouldn't listen to my side of story. In fact she would start beating me up infront of the complainant. All my so-called friends knew this and they would blackmail me all the time. My mom would never defend me and believe what others have to say ab…
Hi there!
In the previous newsletter Mohammad included a blog post of Dave Cross about the Perl Planetarium, but I think it is worth another highlighting. It is an excellent way to follow what's going on in and around Perl on a daily basis. Now also including commits to the source code of Perl and questions on Stack overflow. I've also opened two issues asking Dave to allow the user to filter the messages based on source and to color-code the sources. Something one of you could implement in the front-end.
A couple of days ago I saw a post on Facebook by Curtis Ovid Poe and then Will Braswell rep…
Hi there,
Do you remember the first programming language you picked up?
I am sure in the life span of a programmer, one picks more than one programming language but still have special place for one. I remember during my first encounter in the year 1993, I was introduced to COBOL as part of the course I joined immediately after getting through 12th or (+2 as some remember). I had only access to PC at the institute and that too 2 times a week for one hour each. Imagine relying on books and nothing else, I was attracted towards many other programming languages. During that period, I picked up Fortr…
Hi there!
In 1492 the Jews were expelled from Spain and 4 years later also from Portugal. Many of those Jews settled in the Ottoman Empire and kept talking and changing their language. This is what created the language we call 'Judeo-Espanyol' or in its modern name 'Ladino'. For 500 years these people kept speaking and improving their language which is now a mix of medieval Spanish, Portuguese, Catalan, Turkish, Greek, Italian, Hebrew, Arabic, and probably a few other languages. These Jews are usually referred to as the 'Sephardic' Jews because 'Sepharad' means Spain in Hebrew. It was originall…
Hi there,
Depending who you ask the question, you might get different answer. As I am native Perl speaker, I would say it stands for Perl.
I first came to know about LAMP in the year 1999 when I was first introduced to Perl. Although the term was first coined by Michael Kunze in the year 1998. During that time, Perl and PHP were the only two contenders. Many years later, Python joined the gang. That makes it good fun discussion on what P stands for in LAMP. Those days, Web Development was mostly around Perl and good old friend CGI. Things have changed for good in all these years. We now have ple…
Hi there!
I am sure most of you reading this newsletter have heard that "perl is unreadable" or "perl is a write only language", or maybe that "perl is dead". In many cases this comes from people who have never actually saw perl. You might have not named this phenomenon, but this is called prejudice.
Prejudice is having (usually negative) opinion about an individual, a group of people, or a thing, with partial or no real knowledge about the subject. It's name is quite clear. It is having a judgement before (pre) having knowledge.
One can see prejudice as a phenomenon that happens naturally, but i…
I recently came up with an interesting pattern that is supposed to use a closure to return a read-only configuration. Unfortunately this pattern has a terrible flaw.
{
my %config;
sub config {
return %config if %config;
%config = create_config();
return %config;
}
}
The config()
subroutine is a lexical closure over the %config
hash. No other code in a program would be able to access the %config
variable, as everything is defined in its own block.
As an aside, this pattern could just as easily be written with a state variable, but I find it harder to explain t…
This was the 6th session of the the Open Source Developer Course (OSDC) that I started to teach at the end of January. (We have a weekly session, but we had to skip several weeks in the middle).
This time instead of having a grand presentation we worked on a Perl library (module) that was failing its tests. Here are my notes about what we have accomplished during the session.
The changes we made were not huge, but I believe a little improvement every day by many people can lead to a lot of value to the whole open source ecosystem and through that to the world.
Pull-RequestsNYC publishes vehicle collision data which anyone can access using their API. You can also download this information in standard CSV (Comma Separated Values) file format.
The file is fairly large, 420 MB, with almost 2 Million lines.
-rw-rw-r-- 1 austin austin 402M Mar 4 20:38 all_motor_vehicle_collision_data.csv
…
bash > wc -l all_motor_vehicle_collision_data.csv
1972886 all_motor_vehicle_collision_data.csv
Display the first five records of the dataset using head
bash …
Originally published at Perl Weekly 608
Hi there,
My 6 years old twins reminded me on Sunday morning about Mother's Day. Although I didn't even know such day existed when I was in India but this country exposed me to all kind of celebrations. I miss my mom a lot. Let me share with you one of my childhood memory. During my school days, everytime somebody complain to my mom about my fight she wouldn't listen to my side of story. In fact she would start beating me up infront of the complainant. All my so-called friends knew this and they would blackmail me all the time. My mom would never defend me…
I've been doing the Perl Weekly Challenge, so here are my solutions to the PWC #208. All solutions are about to be posted, but this could be a spoiler if you're trying to solve it too. I was very pleased this week that I got it down to about 15-25 minutes for each task, so I'm definitely getting more comfortable in Perl again.
First, task 1:
use strict;
use v5.10;
my @list1 = ("Perl", "Raku", "Love");
my @list2 = ("Raku", "Perl", "Hate");
# my @list1 = ("A", "B", "C");
# my @list2 = ("D", "E", "F");
# my @list1 = ("A", "B", "C");
# my @list2 = ("C", "A", "B");
my $minindex;
my @results;
for…
Last minute commit this week, so this blog will be briefer than usual.
Task 1: Minimum Index Sum TaskYou are given two arrays of strings.
Write a script to find out all common strings in the given two arrays with minimum index sum. If no common strings found returns an empty list.
My solutionThis is one of those tasks where optimisation of the solution probably isn't required. I'm sure some clever Team PWC people have a blog post on the most optimal solution.
For this task, I extract the word-like strings from the first two parameters, and call them first_list
and second_list…
The examples used here are from the weekly challenge problem statement and demonstrate the working solution.
Part 1You are given an array of integers. Write a script to print 1 if there are THREE consecutive odds in the given array otherwise print 0.
Solution
use v5.36;
use boolean;
sub three_consecutive_odds{
my @numbers = @_;
my $consecutive_odds = 0;
{
my $x = pop @numbers;
$consecutive_odds++ if 1 == ($x & 1);
$consecutive_odds = 0 if 0 == ($x & 1);
return true if 3 == $consecutive_odds;
redo if @numbers;
}
return false;
}
MAIN…
The examples used here are from the weekly challenge problem statement and demonstrate the working solution.
Part 1You are given an array of unique numbers. Write a script to find out all missing numbers in the range 0..$n where $n is the array size.
Solution
use v5.36;
use boolean;
sub missing_numbers{
my @numbers = @_;
my %h;
do { $h{$_} = undef } for @numbers;
my @missing = grep { !exists($h{$_}) } 0 .. @numbers;
return @missing;
}
MAIN:{
say q/(/ . join(q/, /, missing_numbers(0, 1, 3)) . q/)/;
say q/(/ . join(q/, /, missing_numbers(0, 1)) . q/)/;
say q/(/ . j…
ANSI-Palette | LNATION | The great new ANSI::Palette! | 2023-02-19T08:11:12 |
Acme-Matrix | LNATION | Heavenly digital rain | 2023-02-16T16:53:43 |
Acme-MetaSyntactic-newsradio | PERLANCAR | Characters from the sitcom Newsradio (1995-1999) | 2023-02-18T10:26:03 |
Alien-CPython3 | ZMUGHAL | Find or build Python | 2023-02-14T09:03:20 |
Alien-Deno | ZMUGHAL | Find or build Deno | 2023-02-14T09:43:22 |
Alien-Go | ZMUGHAL | Find or build Go | 2023-02-14T09:22:54 |
Alien-LLVM | ZMUGHAL | Find or build LLVM | 2023-02-14T09:20:09 |
Alien-Nodejs | ZMUGHAL | Find or build Node.js | 2023-02-14T09:41:20 |
Alien-OpenJDK | ZMUGHAL | Find or build OpenJDK | 2023-02-14T09:06:06 |
Alien-Rust | ZMU… |
AI-ParticleSwarmOptimization-MCE | STRZELEC | Particle Swarm Optimization (object oriented) with support for multi-core processing | 2022-10-07T09:33:25 |
AI-ParticleSwarmOptimization-Pmap | STRZELEC | Particle Swarm Optimization (object oriented) with support for multi-core processing | 2022-10-07T09:33:36 |
AI-TensorFlow-Libtensorflow | ZMUGHAL | Bindings for Libtensorflow deep learning library | 2022-11-25T16:46:41 |
API-Eulerian-API-Eulerian | MJONDET | Sample EDW script for querying through REST and get a CSV file | 2022-06-08T14:26:06 |
API-Eulerian | MJONDET | Sample EDW script for querying through REST and get a CSV… |
0.07-TRIAL2 | XMIKEW | Parse and format MySQL dates and times | 2021-05-21T20:23:49 |
0.07-TRIAL3 | XMIKEW | Parse and format MySQL dates and times | 2021-05-22T04:57:16 |
ACME-Dzil-Test-daemon | DAEMON | Module abstract placeholder text | 2021-12-16T19:35:11 |
ACME-Dzil-Test-daemon2 | DAEMON | Module abstract placeholder text | 2021-12-16T19:51:51 |
AI-Perceptron-Simple | ELLEDNERA | A Newbie Friendly Module to Create, Train, Validate and Test Perceptrons / Neurons | 2021-08-23T10:44:55 |
API-Mathpix | ERIAM | Use the API of Mathpix | 2021-11-22T08:07:21 |
Acme-Automatix | CONTRA | The great new Acme::Automatix! | 2021-03-17T12:12:20 |
Acme-Brainbuz-mar… |
API-GitForge | SPWHITTON | generic interface to APIs of sites like GitHub, GitLab etc. | 2020-02-16T23:21:52 |
AWS-ARN | JWRIGHT | Dumb module to parse and generate ARNs | 2020-12-01T22:16:49 |
AWS_SES_Signature | PARTHA | Perl extension for blah blah blah | 2020-07-18T17:27:20 |
Acme-AutoLoad | BBB | Automatically load uninstalled CPAN modules on the fly. | 2020-08-12T04:00:19 |
Acme-BayaC | BAYASHI | one line description | 2020-02-01T19:47:06 |
Acme-CPAN-Testers-DevelCheckOS | PERLANCAR | Show Devel::CheckOS results on CPANTesters machine | 2020-10-19T02:09:21 |
Acme-CPANAuthors-Slovak | SKIM | We are Slovak CPAN authors. | 2020-03-10T12:08:13 |
Acme-C… |
A1z-HTML5-Template | CEEJAY | Fast/easy Web Apps in Perl | 2019-11-07T12:50:29 |
A1z-Html | CEEJAY | Html for Perl | 2019-05-31T11:41:12 |
AES128 | JEFFZHANG | AES128 CTR mode encryption algorithms | 2019-01-25T09:10:04 |
AI-ML | RUISTEVE | Perl interface to ML | 2019-08-31T09:25:42 |
API-INSEE-Sirene | CPANLNCSA | An interface for the Sirene API of INSEE | 2019-07-09T10:12:05 |
API-MikroTik | ANPARKER | Non-blocking MikroTik API interface | 2019-02-23T13:42:52 |
AVL-Tree | TBROWDER | 2019-11-14T17:21:26 | |
AWS-CDK | JWRIGHT | The AWS Cloud Development Kit | 2019-09-11T07:40:28 |
AWS-Lambda | SHOGO | It's Perl support for AWS Lambda Custom Runtime. | 2019-03-10T06:02:54 |
AWS… |
0.1.1 | CSANDEEP | 2018-01-24T05:21:21 | |
A1z-HTML5-Template | CEEJAY | The great new HTML5::Template! | 2018-11-05T14:48:50 |
AI-MXNet-Gluon-Contrib | SKOLYCHEV | Perl interface to MXNet Gluon Contrib | 2018-07-14T05:27:04 |
AI-MXNet-Gluon-ModelZoo | SKOLYCHEV | Perl interface to MXNet Gluon ModelZoo | 2018-07-14T05:28:32 |
API-DeutscheBahn-Fahrplan | EDWARDF | Deutsche Bahn Fahrplan API Client | 2018-10-02T08:41:44 |
API-MikroTik | ANPARKER | Non-blocking MikroTik API interface | 2018-02-12T15:37:54 |
ARGV-OrDATA | CHOROBA | Let the diamond operator read from DATA if there's no ARGV | 2018-12-27T01:04:39 |
AWS-XRay | FUJIWARA | AWS X-Ray tracing library | 201… |
This is the weekly favourites list of CPAN distributions. Votes count: 40
Week's winner: Playwright (+2)
Build date: 2023/03/19 07:07:48 GMT
Clicked for first time:
These are the five most rated questions at Stack Overflow last week.
Between brackets: [question score / answers count]
Build date: 2023-03-19 07:05:48 GMT
This is the weekly favourites list of CPAN distributions. Votes count: 45
This week there isn't any remarkable distribution
Build date: 2023/03/11 22:14:10 GMT
Clicked for first time:
Increasing its reputation:
These are the five most rated questions at Stack Overflow last week.
Between brackets: [question score / answers count]
Build date: 2023-03-11 22:12:37 GMT
As a Perl developer, you need to have a solid understanding of the language’s syntax, semantics, and best practices. This blog provides a…
Hai, disini saya akan menjelaskan cara mendapatkan username pada Login wordpress, yangmana cocok sekali apabila digabungkan dengan teknik…
Collection of resources for anyone preparing for a Perl programming interview. These frequently asked questions and their detailed answers…
Perl is a general-purpose, high-level, interactive, and interpreted programming language created by Larry Wall in 1987, originally…
Perl Syntax: Master the Perl syntax. Get a basic understanding of Perl’s language features, data types, conditional expressions, loops…
Hi guys, in this post we will learn how to develop Perl program, we will create a Perl file and print a statement.
TL;DR
The challengeHere we are with TASK #1 from The Weekly Challenge #209. Enjoy!
You are given an array of binary bits that ends with 0.
Valid sequences in the bit string are:
[0] -decodes-to-> "a" [1, 0] -> "b" [1, 1] -> "c"
Write a script to print 1 if the last character is an “a” otherwise print 0.
Example 1
Input: @bits = (1, 0, 0) Output: 1 The given array bits can be decoded as 2-bits character (10) followed by 1-bit character (0).
Example 2
Input: @bits = (1, 1, 1, 0) Output: 0 Possible decode can be 2-bits character (11) followed by 2-bits character (10) i.e. the last character i…
TL;DR
It beats me that I had to use AutoHotKey for two simple keys.
I’m Italian and I use the Italian keyboard layout. No big deal.
Up to some Windowses ago, I had to build my own custom keyboard layout because, as it appears, neither the backtick nor the tilde are anywhere to be found in the keyboard.
No, I don’t consider typing the code on the numeric pad anything that is meaningful to consider. Especially on a laptop keyboard without a separate numeric pad.
As much as it already left me extremely dubious about the care that Microsoft might have for foreigners, it went even beyond this. With Wind…
TL;DR
I submitted a Pull Request to Fantasy Name Generator.
About two years and a half ago I run a little series of post starting with post Fantasy Name Generator - a grammar. The gist of it is that the Fantasy Name Generator repository contains a Perl implementation, but it can become quickly slow for moderately complex expressions, as also noted in the project itself.
I finally got to generate a Pull Request about it, proposing a different parser implementation.
I suspect that there’s not much interest in that repository since a long time, because my previous issue didn’t receive any answer, and…
TL;DR
I want to tack a new meaning to the Italian word Modulabile.
Modulabile is an Italian word that more or less means adjustable. I’d like to attach a new meaning in a Perl context, though, and in particular of a module that can be easily used in a one-liner.
We already know about Modulinos: a Perl module that doubles down as an executable, if needed.
Now, with a Modulabile I’d like to do something much in that spirit, but going a bit farther. Where modulinos are normally created as an evolution from programs to make them more easily testable, with a Modulabile I’d like to add an easy way to us…
TL;DR
I pushed the first release of Validate::CodiceFiscale.
I recently had to validate some Codice Fiscale (sort of social security number) and turned to the mighty CPAN. It contains a module that can be used to this goal, but I was not too enthusiastic about it.
My main itch is about this:
$obj = String::CodiceFiscale->parse('WLLLRY87T18Z404B');
unless ($obj) { # check for errors
print "We have an error: " . String::CodiceFiscale->error;
}
In my very humble opinion, parse errors should be collected at the point of parsing, not with some global mechanism like a class me…
TL;DR
The challengeOn with TASK #2 from The Weekly Challenge #208. Enjoy!
T…You are given an array of integers in sequence with one missing and one duplicate.
Write a script to find the duplicate and missing integer in the given array. Return -1 if none found.
For the sake of this task, let us assume the array contains no more than one duplicate and missing.
Example 1:
Input: @nums = (1,2,2,4) Output: (2,3) Duplicate is 2 and Missing is 3.
Example 2:
Input: @nums = (1,2,3,4) Output: -1 No duplicate and missing found.
Example 3:
Input: @nums = (1,2,3,3) Output: (3,4) Duplicate is 3 and Missing is 4.
I ignored Mastodon for a long time, but eventually I had to stop. Now that I stopped ignoring it and started using it, I feel like I’m either going to lose interest or (ugh) get involved.
Mastodon is built on ActivityPub, a standard for pub/sub of stuff. I think it’s fair to say Mastodon is “what if we used ActivityPub to build a federated Twitter-alike”. This is okay, but so far I feel like everything is a big step backwards in the realm of “just making sense”, and there are probably some places where the Twitter metaphor of a single continuous timeline will just break down in Mastodon and pap…