Create a GitHub Release
Changes for 0.0004
file type filter module for greple
Changes for 1.0301 - 2023-10-04T19:00:40Z
file type filter module for greple
Changes for 1.02 - 2023-10-04T17:44:37Z
Validation Library and more
Changes for 0.002003
a simple syntax for lexical field-based objects
Changes for 0.804 - 2023-10-04
Catmandu modules for working with OAI repositories
Changes for 0.20 - 2023-10-04T14:56:53Z
Cryptographic toolkit
Changes for 0.080 - 2023-10-04
CLIs related to Indonesian numbers (NIK, NOPPBB, NPWP, etc)
Changes for 0.032 - 2023-10-03
Validate (and parse) Indonesian property tax number (NOP PBB)
Changes for 0.091 - 2023-10-04
A grant application from Paul Evans has just managed to be squeezed in into this round. Paul needs no introduction; he is one of the few people who speaks XS like a native, and has long been a valuable contributor to the Perl Core, as well as a lot of other interesting ancilliary projects. Also into animatronics, he has many modules dedicated to interacting with electronic interfaces. This application targets the Core development, which continues to evolve and improve.
Applicant profileTony writes: ``` [Hours] [Activity] 2023/08/01 Tuesday 0.20 look at new coverity hits, briefly discuss with khw 0.27 github notifications 0.87 #21306 review and briefly comment 0.05 #21084 check latest CI results, apply to blead 0.13 #21296 test blead with the fix, close this PR 0.28 coverity look at older hits, one harmless, another false positive (in the context of perl) 0.18 #21181 apply to blead, perldelta 0.42 #21212 comment
1.28 #21313 testing3.68
2023/08/02 Wednesday 0.08 #21306 review new changes and approve 0.37 #21304 comment 3.05 #21313 debugging
2.42 #21313 more debugging, long commen…A new grant application from John Napiorkowski and Robert Grimes, this time targetting the development of a large language model trained specifically to develop Perl Code. These veteran coders suggest that using natural language to generate Perl code may potentially allow one to rapidly generate new APIs and applications, or at least give a skeleton to flesh out into a more elaborate tool.
Applicants:John Napiorkowski & Robert Grimes
Amount RequestedThe budget for this project is $8,800 USD, to be made in one lump-sum payment upon completion.
This amount is calculated by multiplying the estimated…
The first ever Perl and Koha conference was held in Helsinki, Finland this year. It featured three main days of Perl and Koha presentations and two days of workshops. Workshops included a Perl training session, a masterclass for new Koha developers, Koha improvement initiatives, discussions on the future of Perl as a language, and more.
Koha is the first free open source software library automation package. In use worldwide its development is steered by a growing community of users. Koha is a framework developed in Perl with modules stored on CPAN. Koha allows end users to borrow books from wit…
Dave writes:
This is my monthly report on work done during June-August 2023 covered by my TPF perl core maintenance grant.
I fixed a performance regression bug related to my 'multiconcat' optimisation work from about 5 years ago.
Other than that, I restarted my work on my "make stack reference counted" branch, got it into a working state, and merged it into blead. See below for a detailed explanation.
SUMMARY:
TOTAL: * 79:00 (HH::MM)
Understanding the "stack not reference coun…
Tony writes:
``` [Hours] [Activity] 2023/07/03 Monday 0.92 #21181 fixes, testing, re-push and push to smoke-me 0.50 #21180 fixes, testing, push for re-CI 1.52 apply one of my PRs, look into unexpected mingw64 failure
on another PR2.94
2023/07/04 Tuesday 0.42 #21120 apply to blead, perldelta update, add to maint votes 0.65 #21132, #21095 apply to blead, perldelta #21202 comment 0.08 #21118, #21060 apply to blead 0.28 #21031 apply to blead 0.85 #21041 testing, checks to see if regen changes meant this needed updates, apply to blead 0.45 #21030 testing, apply to blead, perldelta 0.30 #21180 check CI…
Welcome back to another round of the weekly challenge, with just one solution this week. I'm setting up a lemonade stand and need to deal with change. Interestingly, I can only sell one juice per person, so I hope you're not super thirsty!
We can take $5, $10, and $20 bills, and we don't start with any change, so we need our previous customers to provide us with change for future customers. Let's find out if we can make change for a set of customers.
Here's the code:
#!/usr/bin/perl
use v5.36;
use List::Util 'any';
my %till;
my $failure;
foreach my $bill (@ARGV) {
if(!any {$bill == $_} (5, 1…
All three of us returned. We talked about
U<>
)A plenv plugin to add additional include directories to Perl.
This plugin sets the contents of file .perl-libdirs
.
It hooks into plenv-exec
command and every time you run perl
or any other command under plenv, plenv-libdirs
uses the
.perl-libdirs
files to set the PERL5LIB environment variable.
plenv-libdirs
makes use of .perl-libdirs
files in the current working directory and every directory between it and root. Environment variable PERL5LIB has a list of paths separated (like in PATH) by a colon on Unixish platforms and by a semicolon on Windows (the proper path separator being given by the com…
These are some answers to the Week 236, 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 1, 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: Exact ChangeYou are asked to sell juice each costs $5. You are given an array of bills. You can only sell ONE juice to each customer but make sure you return exact change back. You only have $5, $10 and $20 notes. You do not have any change in hand…
These are some answers to the Week 236, Task 2, 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 1, 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 2: Array LoopsYou are given an array of unique integers.
Write a script to determine how many loops are in the given array.
To determine a loop: Start at an index and take the number at array[index] and then proceed to that index and continue this unti…
Each week Mohammad S. Anwar sends out The Weekly Challenge, a chance for all of us to come up with solutions to two weekly tasks. My solutions are written in Python first, and then converted to Perl. It's a great way for us all to practice some coding.
This weeks pull request and blog post comes after the deadline. It's a long weekend here, so a virtual Sunday for me :)
Task 1: Exact Change TaskYou are asked to sell juice each costs $5. You are given an array of bills. You can only sell ONE juice to each customer but make sure you return exact change bac…
Originally published at Perl Weekly 636
Hi there,
A belated, Happy Birthday to the creator of Perl. May the joy that you have spread in the past come back to you on this day. Just for record, the birthday was on 27th September.
Do you use homebrew?
brian d foy did all the hard work to get homebrew up to the latest Perl v5.38. If you are keen to know the details then please do checkout the pull request.
Olaf Alders recently shared his cool creation, is: an inspector for your environment. I am sure for all System Administrators out there, it would be very handy.
I am not sure, if you noticed this but…
Welcome back to another round of the weekly challenge, with just one solution this week. I'm setting up a lemonade stand and need to deal with change. Interestingly, I can only sell one juice per person, so I hope you're not super thirsty!
We can take $5, $10, and $20 bills, and we don't start with any change, so we need our previous customers to provide us with change for future customers. Let's find out if we can make change for a set of customers.
Here's the code:
#!/usr/bin/perl
use v5.36;
use List::Util 'any';
my %till;
my $failure;
foreach my $bill (@ARGV) {
if(!any {$bill == $_} (5, 1…
Task 1 of Perl Weekly Challenge 236 asks us to run a juice business in a highly ethical way: either customers get their juice, or we close the shop in humiliation, unable to give them correct change.
Task 1 Exact ChangeYou are asked to sell juice; each costs $5.
You are given an array of bills.
You can only sell ONE juice to each customer
but make sure you return exact change back.
You only have $5, $10 and $20 notes.
You do not have any change in hand at first.
Write a script to find out if it is possible
to sell to each customers with correct change.
Example 1
Input:
@bills = (5, 5, 5, 10, 20…
In a previous article, I talked about why I created Venus. In this article, I'd like to formally introduce you to Venus, what it is, and what it does.
Standard libraryVenus provides a standard library; a rich collection of pre-written packages, classes, and roles (i.e. traits) that come bundled with the distribution. This library provides a wide range of functionality that simplifies common programming tasks, making it a valuable resource for both new and experienced Perl developers.
At the heart of Venus' standard library is its focus on simplicity, productivity, and reusability. It includes cl…
Originally published at Perl Weekly 635
Hi there!
I just saw this question posted on DEV: Is There a Developer Shortage?. There were a few responses saying that there is an abundance of newbies and not very good engineers and there is a shortage in experienced and qualified engineers. That's the general view. How is it specifically for Perl?
On a related note, I guess we are all wondering what will be the impact of the rise of AI in software development. My guess is that it will further widen the gap between beginners and experienced programmers. It will be even harder to get an entry level job a…
The examples used here are from the weekly challenge problem statement and demonstrate the working solution.
Part 1You are asked to sell juice each costs $5. You are given an array of bills. You can only sell ONE juice to each customer but make sure you return exact change back. You only have $5, $10 and $20 notes. You do not have any change in hand at first. Write a script to find out if it is possible to sell to each customers with correct change.
Solution
use v5.38;
use boolean;
use constant COST_JUICE => 5;
sub exact_change{
my @bank;
my $current_customer = shift;
{
pus…
The examples used here are from the weekly challenge problem statement and demonstrate the working solution.
Part 1You are given an array of words made up of alphabets only. Write a script to find the number of pairs of similar words. Two words are similar if they consist of the same characters.
Solution
use v5.38;
use boolean;
sub is_similar{
my($s0, $s1) = @_;
my(%h0, %h1);
do { $h0{$_} = undef } for split //, $s0;
do { $h1{$_} = undef } for split //, $s1;
return false if keys %h0 != keys %h1;
do { return false if !exists $h1{$_} } for keys %h0;
return true;
}
s…
The examples used here are from the weekly challenge problem statement and demonstrate the working solution.
Part 1You are given an array of distinct integers. Write a script to find all elements that is neither minimum nor maximum. Return -1 if you can’t.
Solution
use v5.38;
sub not_min_max{
my($minimum, $maximum);
do{
$minimum = $_ if !$minimum || $_ < $minimum;
$maximum = $_ if !$maximum || $_ > $maximum;
} for @_;
my @r = grep { $_ ^ $minimum && $_ ^ $maximum } @_;
return @r ^ 0 ? @r : -1;
}
MAIN:{
say join q/, /, not_min_max 3, 2, 1, 4;
say join…
The examples used here are from the weekly challenge problem statement and demonstrate the working solution.
Part 1You are given an array of positive integers. Write a script to separate the given array into single digits.
Solution
use v5.38;
sub separate_digits{
return separater([], @_);
}
sub separater{
my $seperated = shift;
return @{$seperated} if @_ == 0;
my @digits = @_;
push @{$seperated}, split //, shift @digits;
separater($seperated, @digits);
}
MAIN:{
say join q/,/, separate_digits 1, 34, 5, 6;
}
Sample Run
$ perl perl/ch-1.pl
1,3,4,5,6
Notes
It has been…
API-Vultr | RAWLEYFOW | A simple interface to the Vultr v2 API | 2023-09-15T20:40:36 |
Acme-CPANModules-Clipboard | PERLANCAR | List of modules that interact with clipboard | 2023-09-17T00:06:08 |
Acme-CPANModules-CountryCodes | PERLANCAR | List of modules related to country codes | 2023-09-10T00:05:33 |
Aion | DART | a postmodern object system for Perl 5, as Moose and Moo, but with improvements | 2023-09-28T16:07:20 |
Aion-Carp | DART | added stacktrace to exceptions | 2023-09-08T10:07:52 |
Alien-SeqAlignment-edlib | CHRISARG | Provide the static, dynamic libraries and CLI (non-Windows) of the edlib aligner | 2023-09-02T23:51:50 |
Alien-SeqA… |
Acme-CPANModules-Sampling | PERLANCAR | List of modules to sample items from a list | 2023-08-11T00:05:10 |
Acme-MetaSyntactic-always_sunny | PERLANCAR | Characters from the sitcom It's Always Sunny In Philadephia (2005-) | 2023-08-04T00:05:29 |
Alien-CXC-param | DJERIUS | Build and Install the CIAO cxcparam library | 2023-08-17T22:33:57 |
Alien-Ruby | NHUBBARD | Alien package for the Ruby programming language | 2023-08-21T03:30:10 |
Alien-libgs1encoders | HANGY | Build and install libgs1encoders, a C-based GS1 barcode parser | 2023-08-17T21:17:02 |
Alien-parasail | CHRISARG | Install the parasail aligner shared libraries for use with… |
This is the weekly favourites list of CPAN distributions. Votes count: 45
Week's winner: Mojo::IOLoop::ReadWriteProcess (+3)
Build date: 2023/09/23 20:12:50 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-09-23 20:11:27 GMT
These are the five most rated questions at Stack Overflow last week.
Between brackets: [question score / answers count]
Build date: 2023-09-17 06:42:34 GMT
Review Perl in A Nutshell A Desktop Quick Reference nd Edition by Ellen Siever Stephen Spainhour Nathan Patwardhan
Review Advanced Perl Programming From Advanced to Expert by William quot Bo quot Rothwell
Yes, all of us consciously or not are using scripting languages in our daily life. For instance, if you are able to read this article…
Review Joseph Perl s Revealer Of Secrets The First Hebrew Novel Modern Hebrew Classics by Dov Taylor
Review Perl in a Nutshell A Desktop Quick Reference In a Nutshell O Reilly by Nathan Patwardhan Ellen Siever Stephen Spainhour
Özyinelemeli Fonksiyonla Karmaşık Veri Yapısı İçerisindeki Stringlerin Decoding’i
TL;DR
The challengeOn with TASK #2 from The Weekly Challenge #236. Enjoy!
You are given an array of unique integers.
Write a script to determine how many loops are in the given array.
To determine a loop: Start at an index and take the number at array[index] and then proceed to that index and continue this until you end up at the starting index.
Example 1
Input: @ints = (4,6,3,8,15,0,13,18,7,16,14,19,17,5,11,1,12,2,9,10) Output: 3 To determine the 1st loop, start at index 0, the number at that index is 4, proceed to index 4, the number at that index is 15, proceed to index 15 and so on until you're…
TL;DR
The challengeHere we are with TASK #1 from The Weekly Challenge #236. Enjoy!
You are asked to sell juice each costs $5. You are given an array of bills. You can only sell ONE juice to each customer but make sure you return exact change back. You only have $5, $10 and $20 notes. You do not have any change in hand at first.
Write a script to find out if it is possible to sell to each customers with correct change.
Example 1
Input: @bills = (5, 5, 5, 10, 20) Output: true From the first 3 customers, we collect three $5 bills in order. From the fourth customer, we collect a $10 bill and give back…
TL;DR
Schwern wrote a little gem.
Some time ago I wanted to import a few CSV files in one SQLite database file and I initially tried to do it with Perl. It was sloooooow.
Then I looked for alternatives and found out .import
from the
command-line client sqlite3
. This is reasonably fast, so I used it
straight away and forgot about it.
Until I came to read Schwern’s little gem, hinting
to turn AutoCommit
off. That hit the nail so good that one single hit
sufficed.
So here’s an example:
#!/usr/bin/env perl
use v5.24;
use warnings;
use experimental 'signatures';
use DBI;
use Text::CSV_XS;
my $csv_file…
TL;DR
If you happen to have a deck of the Decktet, you can easily play Skull too:
That’s it! It even supports up to 6 players like the original game.
It’s also possible to use a regular deck of cards, although it can be challenging to go beyond 4 players (still possible but a little “abstract”).
Cheers!
TL;DR
I discovered about
X-Unsent
.
I like automating repetitive tasks with small command-line programs because it’s fun and spares me a lot of errors, mostly in the form of things I forget. So it’s no wonder that after the thirdAHEMthirtiest email with the same shape, I thought about automating the generation of those emails too.
For reasons that I’m not willing to confeAHEMdisclose, I’m not sending those email straight away but through the Outlook client. Only fact is, when I generate an email in a valid, standards-compliant way using Perl (via module MIME::Entity, in particular), opening it wit…
Go read On Craft.
I found a note to myself that I should post about my per-host colors. I don’t know whether it’s of general interest to whoever reads this thing, but I guess I thought that once, so here we go.
I work on a bunch of different hosts, from my laptop to my Raspberry Pis to work systems, and others. At work, hosts have different color prompts by datacenter, and I thought this was a good way to remind myself where I was running my commands.
First, I made a little shell program called .sh/host-color
:
HOSTNAME=`hostname -s`
if [ -z "$HOSTNAME" ]; then
RJBS_HOST_COLOR=247 # no hostname! dim unto death
el…
When I bought my Nanoleaf panels, which I wrote about in my previous two posts, I didn’t realize that they’re not just programmable lights. They’re also touch sensors. Or so they claim! The truth is, I haven’t been able to use the touch interface reliably. This post will recount my efforts.
I should say up front: I haven’t really tried to use the default touch programming. That is: I haven’t gone into the Nanoleaf iOS app to set events onto touch events. I know that isn’t what I want to do long term, and I didn’t have any good ideas about how to use it for diagnostic purposes. I do know that th…
For my birthday, some family sent me a $200 gift card for Amazon. I wasn’t sure what I’d like. I have too many books queued up already, and just sort of enough stuff. I knew there’d be some toy or luxury that would be a good pick, but nothing sprang to mind. I mentioned this conundrum to Rob N, who said “Why not Nanoleaf?”
I didn’t recognize the name, but once I looked it up, I did. Nanoleaf makes a bunch of “smart” lighting stuff that may have seen, too. The most notable products are sticks or basic geometric shapes that snap together and light up independently. I said, “Colored lighting with…
In my last post about Nanoleaf, I ended by saying that I wrote a program to light up each panel a different color, to help me pick out which panel had which panel id. I also said that I didn’t make that program using the custom animation API. It’s true! I used the streaming interface. I actually got that going before the custom animations. It felt like what I’d want: a way to send a never-ending stream of instructions doing something like tracking log events or keystrokes or I don’t know what.
To get started, you need the same thing: a way to make HTTP requests to the controller. The request to…
Right now it looks like we'll make it to Dec 8, if all of the articles materialize. I won't consider it a failure if we produce < 24, but it's nice to have a full calendar, as we did last year, when we had 27. More info at https://cfp.perladvent.org/ You can see the already accepted articles at https://github.com/perladvent/Perl-Advent/issues?q=is%3Aissue+is%3Aopen+label%3A2023
submitted by /u/oalders ![]() |
submitted by /u/lskatz [link] [comments] |
Is there a Perl based tool or a framework to submit, monitor and cache SLURM/SGE/... jobs on a cluster? I personally use nextflow, but it is a real pain to debug, also not a big fun of it's DSL. Here is the long list of the "frameworks" but none in Perl as far as I see: https://github.com/pditommaso/awesome-pipeline
submitted by /u/mestia ![]() |
submitted by /u/perlancar [link] [comments] |
It did take a while, but finally my Perl got upgraded to 5.38 during my early morning brew upgrade
. Good times!