Recent CPAN uploads - MetaCPAN

Array-Pick-Scan-0.005

Pick random items from an array (or iterator), without duplicates

Changes for 0.005 - 2022-05-21

  • Deprecation
  • Enhancements
2022.07.02 00:05

XAO-Web-1.89

XAO Web Framework
2022.07.02 00:05

Sub-HandlesVia-0.028

alternative handles_via implementation

Changes for 0.028 - 2022-07-02

  • Test Suite
  • Other
2022.07.01 23:17

Algorithm-Line-Bresenham-0.12

simple pixellated line-drawing algorithm
2022.07.01 21:31

SPVM-0.9616

SPVM Language

Changes for 0.9616 - 2022-07-01

  • New Featres
  • CHANGES
  • NON BACKWORD COMPATIBLE CHANGES
2022.07.01 21:18

Role-Hooks-0.006

role callbacks

Changes for 0.006 - 2022-07-01

  • Updated: Support for roles built using Mite.
2022.07.01 21:11

Mite-0.002002

Moose-like OO, fast to load, with zero dependencies

Changes for 0.002002 - 2022-07-01

  • Change how __FINALIZE_APPLICATION__ gets called for indirect role applications.
2022.07.01 20:55

MIDI-Bassline-Walk-0.0400

Generate walking basslines

Changes for 0.0400 - 2022-07-01T12:08:47Z

  • Enable modal accompaniment, instead of playing non-key, sour notes.
  • Improve documentation.
2022.07.01 19:09

Lingua-PTD-1.17

Module to handle PTD files in Dumper Format

Changes for 1.17 - 2022-07-01

  • add support to json format
2022.07.01 18:58

Mite-0.002001

Moose-like OO, fast to load, with zero dependencies

Changes for 0.002001 - 2022-07-01

  • Bug Fixes
2022.07.01 17:12

More…

Hashest-0.3.1

Mite-0.002000

Image-PHash-0.2

Term-Choose-1.755

Socket-2.035

JavaScript-Packer-2.09

Dancer2-Plugin-RPC-1.99_06

Devel-FindPerl-0.016

Dpkg-1.21.9

App-optex-v0.5.4

Pod-Query-0.33

App-Templer-1.4

Net-Dropbear-0.15

File-ShareDir-Install-0.14

Getopt-EX-v1.28.0

Number-ZipCode-JP-0.20220630

HTTP-Promise-v0.1.3

Array-Sample-WeightedRandom-0.002

SPVM-Resource-Re2-V2022_06_01-0.02

Mite-0.001013

YAML-PP-0.034_001

Image-PHash-0.1_1

Mac-PropertyList-1.503

Quiq-1.203

Perl-Critic-Policy-ValuesAndExpressions-ProhibitFiletest_rwxRWX-0.002

Net-Easypost-0.23

Active questions tagged perl - Stack Overflow

new identity for TOR using perl on linux

Regular expression to validate username

2D Array Printing as Reference

Simple Menu System Perl

is my interpertation for $sometext =~ s/([^$sgn])j$/$1X/g; in perl correct

What is the maximum number of arguments for cgi->param('name') in perl?

Is there perl line to increment a number in a line in a file?

Capture word between optional hyphens regex

How can I sort an array or table by column in Perl?

perl script unable to get() desired files via ftp from linux 5.1 system (script was written for unix 4.0) [closed]

Perl: Go to further processing only if there are no elements to be processed by foreach loop of array (last iteration of foreach loop is on)

run and stop perl script from cron job - cpanel

How to concatenate Perl variables with a hyphen?

Shell Script with wget to get date minus 1-day

forcing brace expansion in backticks or why is this inconsistent?

Regular expression $text =~ s{\W}{}g; compiles in Perl what does it do?

DBD::mysql: ChopBlanks

Array and hashes declared using $ symbol in perl

Perl DateTime nanoseconds always 0

Execute PowerShell script from Perl script

News and Blogs

Articles on Perl.com - programming news, code and culture

Perl / Unix One-liner Cage Match, Part 2

In Part 1, I compared Perl’s regexp features with sed and Awk. In this concluding part, I’ll cover examples that make use of Perl’s extensive built-in features and third-party modules.

Bigger library

Perl has a much bigger collection of built-in functions compared to Awk. For command-line usage, I often need tr, join, map and grep. I like that arrays and hashes are distinct in Perl and applying sort on these data types is much simpler compared to Awk.

Append items to a list

This problem wants to append columns to rows that have too few, like the b, c and d rows:

a,10,12,13
b,20,22
c,30
d,33

This app…

2021.05.25 02:54

Perl / Unix One-liner Cage Match, Part 1


A shell (like Bash) provides built-in commands and scripting features to easily solve and automate various tasks. External commands like grep, sed, Awk, sort, find, or parallel can be combined to work with each other. Sometimes you can use Perl either as a single replacement or a complement to them for specific use cases.

Perl is the most robust portable option for text processing needs. Perl has a feature rich regular expression engine, built-in functions, an extensive ecosystem, and is quite portable. However, Perl may have slower performance compared to specialized tools and can be more verb…

2021.05.12 02:54

Downloading and Installing Perl in 2021

[This article is part of our Popular articles project to update Perl.com for contemporary practices]

If you’re reading this article, you’re likely looking for a simple way to download and install the Perl programming language. Or you already have Perl installed as part of your operating system, but it’s older than the currently-supported versions (5.32.1 or 5.30.3) and you’d like to use the latest and greatest features. The download options may seem daunting, especially if you’re new to computers or programming. We’ll take things step by step, and soon you’ll be on your way to…

2021.04.27 04:05

Interview: Trying to Catch Paul "LeoNerd" Evans

Paul “LeoNerd” Evans is a CPAN author, blogger, and core Perl contributor. He introduced the experimental isa operator in Perl 5.32 and the try/catch syntax in an upcoming version.

Tell me a little about yourself and your background; whatever you feel comfortable sharing.

Lets see—I’m going to do this in reverse chronological order.

Currently I’m a self-employed contractor, splitting my time between Perl and other computery things, and electronics. Most of the jobs I’ve had before I did that were based on Perl, with the minor exception of a little Internet startup company called &ldqu…

2021.03.30 01:24

Why I wrote Net::Google::CivicInformation

Before I became a computer programmer, I tried my hand at being a human programmer, in the form of a wordsmith, as I called myself then. I had various jobs as a writer, editor, translator and journalist, but I met with little success, for two main reasons. In those days you needed a publisher to find your work interesting enough to publish before anyone could read it, and that was a pretty high bar. And in the second place, it was difficult to get the humans to react to the content I wrote (I’m still exercised that the movie reviewer would get more letters to the editor than I did after…

2021.03.09 19:35

The Hijacking of Perl.com

For a week we lost control of the Perl.com domain. Now that the incident has died down, we can explain some of what happened and how we handled it. This incident only affected the domain ownership of Perl.com and there was no other compromise of community resources. This website was still there, but DNS was handing out different IP numbers.

First, this wasn’t an issue of not renewing the domain. That would have been a better situation for us because there’s a grace period.

Second, to be very clear, I’m just an editor for the website that uses the Perl.com domain. This means that I’m…

2021.02.28 08:59

The Perl Foundation

Do you want to support the Perl and Raku communities in a more strategic way?

Could you or someone you know be willing to invest a few days per month, offering skills and experience that would be useful to The Perl Foundation or Raku Foundation? Have you considered nominating yourself, or them, to join the Board?

Potential Board members ideally will: * want to get things done and add value * be active in the open source community * demonstrate professional and positive characteristics

It would be great if you have experience on other FOSS boards, or not for profit, start-up, or management experience. Experience with fundraising would also be useful.

Nominees don't have to…

2022.06.18 04:27

Calling All Grant Gurus!

[img]

We are in need of a volunteer to take over the Grants Committee Chair responsibilities ASAP. What does the Grants Committee Chair do?

Grants Committee Chair Job Duties
  • Open a grants call every two months (January, March, May, July, September, November) to invite community members to apply for funding.
  • Facilitate discussion of grants between the public,The Perl Foundation/Raku Foundation, and Grants Committee members.
  • Tally and report voting outcome at the end of each grant call.
  • Work with the foundation to ensure funding is available for approved grants.
  • Make sure each approved grant has a grant man…
2022.06.17 14:59

Could you support future development of Perl and Raku?

Billions of people around the world rely on Perl and Raku in some way without even realising it. A [new prospectus](ra-rel-mnt/simplecas/fetch_content/64c0601be328555858adc21a58e221c977fe55ae/Perl Raku Prospectus_Final_Interactive_v2.pdf) from The Perl Foundation highlights how you can contribute to its ongoing development, either financially, or through volunteering time.

By doing so you can: * Ensure Perl and Raku are sustainably maintained and developed * Gain valuable education opportunities for your teams at conferences * Engage in important networking opportunities and build your corporat…

2022.06.15 05:17

Grant Update: Optree Optimisations for Performance Gains

Work has started, though a roadblock has come up:

https://www.nntp.perl.org/group/perl.perl5.porters/2022/06/msg263847.html

Paul has a few ideas to work around it.

As some preliminary work, he wants to clean up op.c a bit and split the peephole optimiser out into its own file, per this thread:

https://www.nntp.perl.org/group/perl.perl5.porters/2021/12/msg262118.html

There is now an MR for that here:

https://github.com/Perl/perl5/pull/19835

Cheers,

-- Matthew Horsfall (alh)

2022.06.09 07:03

TPRC June Newsletter

[img]
Time to Pack
  • Plan your Stay
  • Stay Connected
  • Setup your Schedule
  • Call for Volunteers
  • Standards of Conduct
  • Sponsor
  • Lighting Talks
  • How to Reach Organizers
Welcome June! Hello Perl & Raku Conference!

Summer is here and brings with it a new in person Perl & Raku Conference in Houston from Tuesday June 21st to Friday June 25th.

Talks start on Wednesday 22 morning at 9:30 am. Come earlier to share a breakfast together and meet people from the community.

During the conference you can attend presentations covering Perl, Raku and supporting languages. You can also join us to one of the Hackathon sessions or subscrib…

2022.06.02 18:09

Grants: May 2022 Votes

[img]

The Grants Committee has concluded voting on the May 2022 round. One grant request was submitted:

Grant Proposal: Maintaining Perl (Tony Cook) (USD 20,000)

VOTING RESULTS: Approved. 7 YES votes (35 points), 0 NO votes, 0 ABSTAIN

We accept proposals throughout the year; our next round of review will begin in July. You can submit proposals at any time.

If you want to help with funding and increase our budget, please visit our donations page. We sincerely appreciate all the donors which make the grant program possible. If you donate, please take advantage of your employers' matching donation program…

2022.06.01 17:55

blogs.perl.org

We have a new Perl Steering Council for 2022/23

Following the release of 5.36.0, we have a new Perl Steering Council (PSC). The PSC for the next year comprises Ricardo Signes (RJBS), Paul Evans (PEVANS), and Philippe Bruhat (BOOK). These three will serve until 5.38.0 is released, at which point the next PSC will be elected.

As described in a previous blog post, in 2020 we established a new governance structure for the Perl programming language. In brief, the perl5-porters (P5P) mailing list continues to be the place where the future of Perl is discussed. Anyone on the list can follow the RFC process to propose new language features. The PSC…

2022.07.01 23:53

Smart Match in CPAN

There is nothing like looking, if you want to find something. -- The Hobbit, iv, "Over Hill and Under Hill"

Recently on the p5p mailing list the topic of removing smart match re-surfaced. There was a fairly vigorous discussion about the effect this would have on CPAN. So I thought I would look into how many uses there actually were.

Fortunately there are Perl Critic policies for this: Jan Holčapek's Perl::Critic::Policy::ControlStructures::ProhibitSwitchStatements and Perl::Critic::Policy::Operators::ProhibitSmartmatch. All I had to do was run them against my mini-CPAN.

My results:

  • Total distribut…
2022.06.30 04:15

Perl Weekly Challenge 171: Abundant Numbers and First-Class Functions

These are some answers to the Week 171 of the Perl Weekly Challenge organized by Mohammad S. Anwar.

Spoiler Alert: This weekly challenge deadline is due in a few of days from now (on July 3, 2022 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: Abundant Numbers

Write a script to generate first 20 Abundant Odd Numbers.

According to wikipedia,

A number n for which the sum of divisors σ(n) > 2n, or, equivalently, the sum of proper divisors (or aliquot sum) s(n) > n.

For example, 945 is the first Abundant…

2022.06.28 14:10

Annotated Perl::Critic Policy Index

In the wake of my postings on the file access tests (-r and friends) I wondered if there was a Perl::Critic policy to find them. So I constructed an annotated index of Perl Critic policies. Because of its size I stuck it on GitHub rather than in-line to this blog post.

This index assumes that any CPAN module whose name begins with Perl::Critic::Policy:: is a Perl Critic Policy. The index entry for each module contains the name of the module itself (linked to Meta::CPAN), the name of the distribution which contains it, and the abstract for the module if it contains anything other than a repeat o…

2022.06.24 23:23

Perl Weekly Challenge 170: Primorial Numbers and Kronecker Product

These are some answers to the Week 170 of the Perl Weekly Challenge organized by Mohammad S. Anwar.

Spoiler Alert: This weekly challenge deadline is due in a few of days from now (on June 26, 2022 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: Primorial Numbers

Write a script to generate first 10 Primorial Numbers.

Primorial numbers are those formed by multiplying successive prime numbers.

For example,

P(0) = 1    (1)
P(1) = 2    (1x2)
P(2) = 6    (1x2×3)
P(3) = 30   (1x2×3×5)
P(4) = 210  (1x2×3×5×7…
2022.06.24 02:07

Trying to contact Francis van Dun (FVANDUN)

I am trying to contact Francis van Dun (FVANDUN on cpan) for permission to relicense Net::DHCP to the MIT license.

The email listed on cpan bounces. If you are out there Francis please give me your blessing via the above link.

2022.06.21 20:08

Perl Hacks

Replacing CPAN RT

[Update: the CPAN Request Tracker was saved. It’s now run by a new team of volunteers and none of my suggestions below are required.]

Two weeks ago, we learned that the CPAN Request Tracker was closing down early next year. I proposed a plan that CPAN authors could follow to ensure that their users can still find somewhere to report bugs in modules (and, perhaps more importantly, to see what bugs have already been reported in modules).

But that’s only part of the problem. In fact, it’s probably a minor part of the problem. If you’re an active CPAN author, then you probably already knew about the…

2020.12.16 17:24

RT – Action Plan for CPAN Authors

CPAN RT is going away. CPAN authors have until the beginning of March to extract any useful information from it.

RT is the “Request Tracker”, a bug tracking system that is written by Best Practical. For almost as long as I can remember, anyone who uploads a module to CPAN gets a free ticket queue for their module at rt.cpan.org. MetaCPAN assumes that’s where people should report bugs in your module and helpfully adds an “issues” link that goes to the appropriate page in RT.

But now that system is going away. It will be switched off on the 1st March 2021. The Perl NOC team is spread pretty thinly…

2020.12.06 12:40

Down the rabbit hole

Blog posts are like busses. You wait months for one and then two come along on consecutive days!

Yesterday I wrote about how we didn’t need a blogging platform for the Perl community – all we really needed was a good-looking feed aggregator. I mentioned Perlsphere as one such aggregator.

Then Matthew commented, saying that Perlsphere looked a bit broken as Dave Cantrell’s posts from a few years ago frequently pop up there as new posts. I had a quick look at the problem and couldn’t quite work out what was going on. His web feed seems valid, but Perlsphere didn’t seem to recognise the dates of th…

2020.09.18 15:24

Blogging for Perl

I think it was at YAPC Copenhagen in 2008 that a small group of us first discussed the idea of building a shared blogging platform for the Perl community. It was over a year later that we launched blogs.perl.org.

I remember a lot of discussions over that time where we tried to thrash out exactly what we wanted to build. I know that one of my main drivers was that I wanted to replace the journals feature of use.perl. For those of you too young to remember, use.perl was a Perl community web site from the dawn of time. The site ran Perl news on its front page, but users could also have their own j…

2020.09.17 20:10

The Best of Perl Hacks

What do you do when you’re stuck inside because Coronavirus means that your country is in lockdown? Well, you write a book, of course. Or, to be more accurate, you cobble together fifty or so old blog posts into a book.

So that’s what I’ve done. Now you can read some of your favourite Perl Hacks blog posts in a handy Kindle book. Other ebook marketplaces are, of course, available – but I haven’t had the time to make a version that’s available from anywhere else yet. That might follow if enough people ask for it.

The book is, predictably, called The Best of Perl Hacks and it’s available from Amaz…

2020.04.07 15:05

PerlCon Europe 2019

Last week I was in Riga for this year’s European PerlCon (the conference formerly known as YAPC::Europe). As has become traditional, here’s my report of the conference.

My conference began on Tuesday night at the pre-conference meet-up. Most people get into town on the night before the conference starts and the organisers always designate a local bar as a meeting place. This time, as the conference was being held in a hotel, the meeting place was a room in the hotel just outside the main conference room. It’s always good to meet up with friends who you might not have seen since the previous con…

2019.08.11 13:40

Perl Weekly newsletter

#570 - CPAN Weekly

Hi there

I noticed a fresh air and renewed energy among Perl Hackers ever since the latest release of Perl v5.36. I can only imagine what would be the reaction when Corinna becomes part of core Perl. It would definitely help Perl regain its glory, in my humble opinion.

As some of you are aware that I have been doing daily Perl feature series for sometimes now, I have seen so much interest in the new/improved features brought in Perl v5.36. All credit goes to the hard work and dedication of the team responsible for the release. I have got all the daily feature posts saved in the GitHub repository…

2022.06.27 10:00

#569 - Fundraising for Perl

Hi,

4 weeks ago I asked you to support the Perl Weekly. It got very little response. Then 2 weeks ago I wrote how disappointed I am. Wow, the abuse I received for that. Both on Reddit an in private emails.

The funny thing is that the people who got upset that I asked for people to show their support are mostly the ones who never did anything for Perl.

However, the really imporant thing is that within 24 hours some 20 additional people started to support Mohammad and today we are already at 50 supporters! I was very impressed. Thank you!

Thank you!

In any case, think about this as a fund-raiser for…

2022.06.20 10:00

#568 - Perl v5.36 - the beginning of new era

Hi there,

A big round of applause to the entire team behind the ground breaking release of Perl v5.36. I have been following the features of the latest release very closely. I am confident it would be a solid foundation for Corinna and v7.

Have you had chance to play with Perl v5.36?

If not then please do checkout my blog post, where I shared my first hand experience playing with Perl v5.36.

Have you ever thought of contributing to your favourite language, Perl?

A little over a decade, I submitted a small patch via email. Those days, the process was not as smooth as it is today. Unfortunately I nev…

2022.06.13 10:00

#567 - What is in Perl v5.36

Hi there,

Two weeks ago I asked you to show your support of the newsletter by supporting Manwar via Patreon. 2 people added their support. Let me thank the two of you and to all the others who were already supporting him or me!

However, I also have to say I am utterly disappointed. There are 4,700 subscribers and only 25 who would support Manwar?

There is a recurring discussion on why Perl is disappearing. This is part of it. Very few people contribute to the Perl ecosystem.

I get it, not everyone feels up to the task of maintaining a CPAN module or writing an article. Not everyone has the time fo…

2022.06.06 10:00

#566 - v7 & Corinna

Hi there,

Finally we have yet another feature packed release Perl v5.36, thanks to the entire team involved.

Do you want to know all about the latest release? If yes then please refer to the official page for more informations.

The very first question comes to our mind after the Perl v5.36 release is What happened to v7?

The Perl Steering Council (PSC) came up with the detailed response about everything including v7 in the official blog page.

I have been closely following the development of Modern OO in core Perl i.e. Corinna. I am now looking forward to the next release i.e. Perl v5.38, which is l…

2022.05.30 10:00

#565 - Supporting the Perl Weekly

Hi there!

Two weeks ago I wrote about the issues we are facing with the Perl Weekly. I got a lot of responses and then yesterday I also noticed there were quite few comments on Reddit as well. Let me thank all the responses now.

Many people suggested that we could switch to sending out every 2 weeks or once a month, but I don't think either of those would be a good idea. Some people suggested we (Mohammad and myself) should write more articles or interview people. Well, no. The Perl Weekly is specifically about collecting your content and sharing it. So it is the wider Perl community that could…

2022.05.23 10:00

Perl

A Dockerfile for Perl 5.36 / Alpine, with working SSL

A new and shiny version of Perl, 5.36 has been released last week. It contains a lot of very nice improvements and new features. As I'm also currently starting a fresh project, I decided it's a good time to build a new docker (in fact podman) base image to use for some new apps / scripts etc.

Spoiler: Here's my (current) final Dockerfile! Or read on for the long story...

There are of course official Perl Docker images available, in two variants: There is perl:5.36.0 and perl:5.36.0-slim. The first one is nearly 900MB big, while slim is slimmer with 144MB. I don't like big images, so I first trie…

Use multiple gmail accounts via mutt and (offline) IMAP

I started with a new project recently, which means I have to use yet another Google Workspace (i.e. gmail for businesses). While having the gmail webapp open in multiple Firefox Multi-Account Containers is an option, it's not something I like to do. And I don't really like the gmail web interface anyway. I prefer mutt (and use it since forever,,,). Some years ago I sort of managed to read gmail mails via IMAP, but couldn't get sending to work. So I decided to give this another try. And it worked!

Overview
  • I have multiple separate gmail accounts
  • I use mutt to read and write email
  • I use offlineimap

More Mastodon, less Twitter

I was getting more and more annoyed with twitter in the last few months (mostly because I had to click "See [some annoying feature] less often" several times a day) and the whole Musk-takeover finally pushed me over the edge. I've set up an account on Mastodon Technology and plan to use this nice, open source, federated tool more and more, and leave twitter behind.

I never really used twitter as a primary platform, but used it to automatically "promote" some of the stuff that's happening on this website. So now I have to port this tools to use Mastodon. Which turned out to be quite easy:

Mastodo…

Pod2Slides Update: single page talk slides

A common critique about slides to my talks is that they are rather annoying to read, because one has to page through the "presentation mode" by clicking next or hitting Enter a lot0.

Yesterday I started to change this, and tonight I added some finishing touches like responsive HTML/CSS and an external CSS file. My last three talks are now converted to the new layout, the older ones will follow soon.

You can get to the "single page" view by following the "All in one HTML"-Link. This page should also work ok-ish on small screen sizes (images are shrunk, and preformatted text (i.e. code samples) wi…

and or AND and ElasticSearch, or: Case matters

Today I spend a few hours hunting a weird bug. I got a report that people entering data for the Steiermärkische Landesbibliothek where not able to find duplicate entries when adding new books. In theory, Koha should search through all the already existing data and present the user with a dialog if they maybe want to reuse the existing entry, if one is found:

[img]

This works when an ISBN was entered, but not when "only" title, author and some other data was available. To make things a bit more complicated, we're using the not-default ElasticSearch backend, as opposed to the old-school Zebra0 index fo…

Perl-Academy.de Blog

cpanfile – Teil 1

Ein *cpanfile* ist eine Datei, die Abhängigkeiten von Anwendungen und Modulen beschreibt. Diese Dateien sind in der Perl-Welt nichts neues (sie gibt es seit über 8 Jahren) und sie sind eine sehr gute Möglichkeit, die Installation von Abhängigkeiten zu vereinfachen.
2022.06.29 10:00

Einführung in Dist::Zilla

Eine Perl-Distribution besteht neben dem eigentlichen Code auch aus Dateien und Code, um die Distribution über CPAN zur Verfügung zu stellen. Das manuelle Erstellen dieser Dateien hält vom Entwickeln ab und wird schnell lästig. `Dist::Zilla` automatisiert diese Vorgänge. In diesem Artikel gebe ich einen Überblick über den Zweck von `Dist::Zilla` und zeige einen Einstieg in dessen Verwendung.
2022.06.08 10:00

Auf dem Weg zu Perl 5.36 – gesammelte Werke

Zum Abschluss der kleinen Blogpost-Serie ein Artikel der noch ein paar Änderungen aufsammelt, die nicht in die anderen Artikel gepasst haben.
2022.05.25 10:00

Auf dem Weg zu Perl 5.36 - builtin

Mit Perl 5.36 gibt es ein neues Pragma: `builtin`. Damit lassen sich neue Hilfsfunktionen in das Skript/Modul importieren. Derzeit bietet das Pragma folgende Hilfsfunktionen:
2022.05.20 10:00

Auf dem Weg zu Perl 5.36 - try/catch/finally

Es ist nicht schön, wenn man eine Anwendung hat, die vielleicht mittendrin einfach aufhört zu laufen. Vielleicht ist die Anwendung in einen Fehler gelaufen und vielleicht gibt es keine ordentliche Fehlermeldung. Woran hat es gelegen? An welcher Stelle ist der Fehler aufgetreten?
2022.05.12 10:00

Auf dem Weg zu Perl 5.36 – Änderungen mit "use v5.36"

Mittels `use v5.` können Features und Standardeinstellungen für die angegebene Perl-Version geladen werden. Und es ist die minimal notwendige Perl-Version. Ein `use v5.10` verlangt, dass das Programm mindestens mit Perl 5.10 ausgeführt wird. Darüber hinaus wird zum Beispiel das Feature `say` aktiviert.
2022.05.06 10:00

DEV Community: perl

Easiest Way to Get Started with Perl

The easiest way to get started with Perl is to use PerlBanjo.com.

Read more:

Easiest Way to Get Started with Perl - Perl ABC

2022.07.01 21:42

How to Write Tests using Github Actions

I explain how to write tests using Github Actions. This tests are run on Windows, Linux/Ubuntu(64bit, 32bit), Mac, and support Perl 5.8. Dependent CPAN modules can be used.

This article is originally How to Write Tests using Github Actions - Perl ABC

Examples of Tests using Github Actions

See examples at first.

Examples

Downloading cpanm

Download cpanm into your home direcotry of your product and add excutable permission to it.

curl -L http://cpanmin.us > cpanm
chmod +x cpanm
Github Actions Definitions

These are Github Actions.

Linux - Ubuntu - 64bit*Ubuntrulinux-ubuntu-latest.yml*
name: linux-ubun…
2022.06.28 06:25

Perl lightning talk: ”Don’t Fear map and grep”

This week’s Perl and Raku Conference 2022 in Houston was packed with great presentations, and I humbly added to them with a five-ish minute lightning talk on two of Perl’s more misunderstood functions: map and grep.

(Sorry about the ”um”s and ”ah”s…)

[img] Don’t Fear map & grep: List processing for fun and profit

Many beginning Perl programmers don’t understand the map and grep functions and avoid them. But they’re the key to many solutions under the heading of “list pr…

favicon slideshare.net

I’ve written much about list processing in Perl, and this talk was based on the following blog posts:

2022.06.24 21:25

It's all about the numbers

Weekly Challenge 169

Challenge, My solution

After a long break, I'm back. Without further ado, let's go through the two challenges this week.

Task 1: Brilliant Numbers Task

Write a script to generate first 20 Brilliant Numbers.

Brilliant numbers are numbers with two prime factors of the same length.

The number should have exactly two prime factors, i.e. it’s the product of two primes of the same length.

My solution

This is one of those tasks where given we are dealing with such small numbers, it is easier to just brute force things. In the main function, I have the value l for the length of the primes…

2022.06.13 13:22

The way to read Perl core source codes

I explain the way to read Perl core source codes. Perl 5.36.0 is used in this description.

This is originally The way to read Perl core source codes | Perl ABC

Where is main function?

main function is the entry point of perl command.

It is written in perlmain.c, but Perl has no C source code that name is perlmain.c.

perlmain.c is generated by Makefile.SH using ExtUtils::Miniperl.

Where is processing perl command line arguments?

Processing perl command line arguments are started from perl_parse function.

perl_parse is defined in perl.c.

Go forward to parse_body function.

parse_body is defined in perl.c

Yo…

2022.06.09 05:25

Robo-Promoting Perl

Last I was fascinated by Simon Willison's article A Datasette tutorial written by GPT-3. Datasette is a project I've been following for a while now. It's tool for exploring data stored in SQLite databases. GPT-3 was new to me, but it seems it's an AI for writing articles from simple text prompts. I had a quick look at the web page for it, but couldn't find any obvious way to actually try it out, so I filed it away to investigate further at some point in the future.

But today, I saw another article by Simon called How to play with the GPT-3 language model which gave basic instructions on getting…

2022.06.07 19:56

RabbitFarm

Brilliantly Discover Achilles' Imperfection

The examples used here are from the weekly challenge problem statement and demonstrate the working solution.

Part 1

Write a script to generate the first 20 Brilliant Numbers.

Solution

use strict;
use warnings;
sub prime_factor{
    my $x = shift(@_); 
    my @factors;    
    for(my $y = 2; $y <= $x; $y++){
        next if $x % $y;
        $x /= $y;
        push @factors, $y;
        redo;
    }
    return @factors;  
}

sub is_brilliant{
    my($n) = @_;
    my @factors = prime_factor($n); 
    return @factors == 2 && length($factors[0]) == length($factors[1]);
}

sub n_brilliants{
    my($n…
2022.06.19 12:39

Take the Long Way Home

The examples used here are from the weekly challenge problem statement and demonstrate the working solution.

Part 1

Calculate the first 13 Perrin Primes.

Solution

use strict;
use warnings;
use boolean;
use Math::Primality qw/is_prime/;

sub n_perrin_prime_r{
    my($n, $perrins, $perrin_primes) = @_;
    return $perrin_primes if keys %{$perrin_primes} == $n;
    my $perrin = $perrins->[@{$perrins} - 3] + $perrins->[@{$perrins} - 2];
    push @{$perrins}, $perrin;
    $perrin_primes->{$perrin} = -1 if is_prime($perrin);
    n_perrin_prime_r($n, $perrins, $perrin_primes);
}

sub perrin_primes…
2022.06.12 23:34

Circular Primes and Getting Complex

The examples used here are from the weekly challenge problem statement and demonstrate the working solution.

Part 1

Write a script to find out first 10 circular primes having at least 3 digits (base 10).

Solution

use strict;
use warnings;
use boolean;
use Math::Primality qw/is_prime/;

sub is_circular_prime{
    my($x, $circular) = @_;
    my @digits = split(//, $x);
    my @rotations;
    for my $i (0 .. @digits - 1){
        @digits = (@digits[1 .. @digits - 1], $digits[0]);
        my $candidate = join("", @digits) + 0;
        push @rotations, $candidate;
        return false if !is_prime($ca…
2022.06.05 10:46

SVG Plots of Points and Lines

The examples used here are from the weekly challenge problem statement and demonstrate the working solution.

Part 1

Plot lines and points in SVG format.

Solution

use strict;
use warnings;
sub svg_begin{
    return <<BEGIN;
        <?xml version="1.0" encoding="UTF-8" standalone="yes"?>                                   <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">                                                                          <svg height="100%" width="100%" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http…
2022.05.22 23:16

Happily Computing Prime Palindrome Numbers

The examples used here are from the weekly challenge problem statement and demonstrate the working solution.

Part 1

Write a script to find all prime numbers less than 1000, which are also palindromes in base 10.

Solution

use strict;
use warnings;
use Math::Primality qw/is_prime/;

sub palindrome_primes_under{
    my($n) = shift;
    my @palindrome_primes;
    {
        $n--;
        unshift @palindrome_primes, $n if(is_prime($n) && join("", reverse(split(//, $n))) == $n);
        redo if $n > 1;  
    }
    return @palindrome_primes;
}

MAIN:{
    print join(", ", palindrome_primes_under(1000…
2022.05.15 23:58

Bitwise AndSums and Skip Summations: Somewhat Complicated Uses of Map

The examples used here are from The Weekly Challenge problem statement and demonstrate the working solution.

Part 1

You are given a list of numbers. Write a script to calculate the sum of the bitwise & operator for all unique pairs.

Solution

use strict;
use warnings; 

sub sum_bitwise{
    my $sum = 0;
    for my $i (0 .. @_ - 2){
        my $x = $_[$i];
	map {$sum += ($x & $_)} @_[$i + 1 .. @_ - 1];
    }
    return $sum; 
}

MAIN:{
    print sum_bitwise(1, 2, 3) . "\n";  
    print sum_bitwise(2, 3, 4) . "\n";
}  
Sample Run

$ perl perl/ch-1.pl
3
2
NotesSince most of the code for both parts of…
2022.05.08 13:52

The Perl NOC

CPAN: ftp.cpan.org depreciation

As a followup to the CPAN Mirror List changes from last year, we're announcing that FTP service on ftp.cpan.org and ftp.perl.org is being deprecated. This means that any CPAN clients configured to use them will fail to fetch modules.

For the past several years, CPAN clients have defaulted to www.cpan.org to fetch modules, so this should only affect users using very old CPAN clients (usually associated with old versions of Perl) who did not explicitly set a mirror.

We're not setting a firm timeline on this depreciation, but there are only a small number of compatible FTP mirrors remaining, and the…

2022.06.11 14:25

Weekend Outage

You may have noticed that some perl.org services were unavailable this weekend.  Email continued to flow, and no data was lost.

The short version of the story is that we were bitten by this bug. and learned a lot about how Kubernetes works while we figured out what the issue was.

Sorry for any inconvenience!

2021.05.09 21:29

CPAN Mirror List Changes

We sent the below email to all the CPAN Mirror contacts yesterday:

An Important Update about the CPAN Mirror List

You're receiving this email because you're listed as a contact point for a CPAN mirror. Thank you! The mirror network has been a huge part of CPAN’s success. Soon, the way clients use CPAN mirrors is changing. You don't need to do anything, but after reading this email, you might want to.

Some background: For a long time, when the CPAN client (aka CPAN.pm) started up for the first time, it prompted users to configure it by picking a nearby mirror. The assumption was that it would be b…

2021.02.22 09:39

perl.com hijacked

 The perl.com domain was hijacked this morning, and is currently pointing to a parking site.  Work is ongoing to attempt to recover it.

 We encourage you NOT to visit the domain, as there are some signals that it may be related to sites that have distributed malware in the past.

  Some users may have it selected as their CPAN mirror.  To update your mirror in CPAN.pm use o conf urllist http://www.cpan.org/

# perl -MCPAN -eshell
cpan shell -- CPAN exploration and modules installation (v2.20)
Enter 'h' for help.

cpan[1]> o conf urllist http://www.cpan.org/
Please use 'o conf commit' to make the config perma…

2021.01.27 20:01

rt.cpan.org will sunset on March 1st, 2021

Update 2/21/2021:

Updated information about the future of rt.cpan.org can be found at https://news.perlfoundation.org/post/rt-cpan-org-future

Update 2020-12-13:

rt.cpan.org will be sunset on March 1st, 2021 due to low and declining use.

Back when we started this service, it filled a need by providing a place for CPAN authors to track bug reports and feature requests. In recent years github.com and other sites have added issue tracking to their git repo hosting and many CPAN authors have migrated to these sites.

If you are a CPAN author, there are several tools to help you migrate existing tickets:

    • h…
2020.12.04 17:40

cpan.org email supported by Pobox

Earlier this year we quietly switched the infrastructure that forwards ${author}@cpan.org email addresses from our home-grown solution to Pobox’s Bulk Forwarding system. Our system wasn’t keeping up with the spam-filtering needs of these widely published email addresses.

Pobox is now detecting over 93% of the incoming email to @cpan.org as spam and taking care of it. That’s tens of thousands of spam emails a day that aren’t forwarded on. (Almost 2.5 million emails a month!) Said another way -- less than 7% of emails sent to @cpan.org are valid!

Beyond improved spam filtering, there’s also better…
2020.04.27 21:19

perlancar's blog

List of new CPAN distributions – Jun 2022

dist author first_version latest_version abstract
API-Eulerian-API-Eulerian MJONDET v0.3 v0.3 Sample EDW script for querying through REST and get a CSV file
Acme-Mitey-Cards TOBYINK 0.001 0.005 demo of Mite
Alien-Brotli RRWO v0.1.0 v0.2.0 Download and install Brotli
Alien-CFITSIO DJERIUS v4.1.0.1 v4.1.0.5 Build and Install the CFITSIO library
Amon2-Plugin-Web-CpanelJSON KFLY 0.01 0.01 Cpanel::JSON::XS plugin
App-optex-pingu UTASHIRO 0.01 0.02 optex make-everything-pingu filter
App-orgadb PERLANCAR 0.001 0.002 An opinionated Org addressbook tool
Bencher-Scenario-Hash-Unique PERLANCAR 0.002 0.002 Benchmark Hash::Unique
Bencher-Scenario-Lis…
2022.07.01 00:21

List of new CPAN distributions – May 2022

dist author first_version latest_version abstract
Acme-PERLANCAR-Test-Misc PERLANCAR 0.001 0.002 Test various things
Addr-MyIP STEVEB 0.05 0.05 Get your public facing IPv4 or IPv6 address
Algorithm-QuadTree-XS BRTASTIC 0.01 0.02 XS backend for Algorithm::QuadTree
Alien-DjVuLibre SKIM 0.01 0.04 Find or download and install DjVuLibre
Alien-LZ4 ZMUGHAL 0.01 0.01 Find or build LZ4
Alien-OpenCV ZMUGHAL 0.001 0.001 Find or build OpenCV computer vision library
Alien-zlib ZMUGHAL 0.01 0.01 Find or build zlib
Alien-zstd ZMUGHAL 0.01 0.01 Find or build zstd
AnyEvent-Sway JOHNMERTZ 0.18 0.18 communicate with the Sway window manager
App-Cheats TIMKA 0.02
2022.06.04 02:52

List of new CPAN distributions – Apr 2022

dist author first_version latest_version abstract
Acme-CPANModules-Set PERLANCAR 0.001 0.001 List of modules that deal with sets
Acme-CPANModules-Symlink PERLANCAR 0.001 0.001 List of modules that deal with symbolic links (symlinks)
Acme-Inabajun-Utils INABAJUN 0 0.01 The great new Acme::Inabajun::Utils!
App-FizzBuzz TTKCIAR 1.00 1.00 Maximally codegolfed FizzBuzz
App-Greple-git UTASHIRO 0.01 0.01 Greple git module
App-Greple-subst-desumasu UTASHIRO 0.01 0.02 Japanese DESU/MASU dictionary for App::Greple::subst
App-PDF-Overlay JV 0.001 0.002 pdfolay – insert a PDF document over/under another document
App-RunStopRun GRAY 0.01 0.03 limit…
2022.05.01 09:06

List of new CPAN distributions – Mar 2022

dist author first_version latest_version abstract
API-MailboxOrg PERLSRVDE 1.0.0 1.0.2 Perl library to work with the API for the Mailbox.org API
Acme-CPANModules-SQLite PERLANCAR 0.001 0.001 List of modules related to SQLite
Alien-7zip ZMUGHAL 0.01 0.01 Find or build 7-Zip
Alien-SWIG4 ZMUGHAL 0.04 0.04 Find or build SWIG v4 C/C++ interface generator
Alien-patchelf SLAFFAN 0.01 0.04 Alien package for the patchelf utility
App-vcardtidy MLAWREN v1.0.0_1 v1.0.0_3 tidy up VCARD files
ArrayData-Lingua-Word-EN-Enable PERLANCAR 0.002 0.003 The Enable word list (English)
ArrayData-Lingua-Word-EN-Wordle PERLANCAR 20220306.0.0 20220306.0.1 Wordle…
2022.04.08 05:31

List of new CPAN distributions – Feb 2022

dist author first_version latest_version abstract
API-Eulerian MJONDET v0.1 v0.1 Sample EDW script for querying through REST and get a CSV file
Acme-CPANModules-Foozilla PERLANCAR 0.001 0.001 Ideas for module/script/project name using 'zilla'
Acme-CPANModules-Parse-HumanDate PERLANCAR 0.001 0.001 Modules that parse human date/time expression
App-Greple-frame UTASHIRO 0.01 0.02 Greple frame output module
App-Greple-wordle UTASHIRO 0.01 0.10 wordle module for greple
App-ISBN-Format SKIM 0.01 0.02 Base class and script for ISBN formatting.
App-easyDifferentialGeneCoexpressionWrapper AALAMEER 1 1 easyDifferentialGeneCoexpressionWrapper…
2022.04.08 05:25

List of new CPAN distributions – Jan 2022

dist author first_version latest_version abstract
Acme-CPANModules-Interop-Ruby PERLANCAR 0.001 0.001 Modules/applications that help interoperate with the Ruby world
Acme-CPANModules-KitchenSinks PERLANCAR 0.001 0.001 Kitchen sink libraries
Acme-Signature-Arity TEAM 0.001 0.003 find out how a piece of code expects to be called
Algorithm-Graphs-TransitiveClosure-Tiny AAHAZRED 0.01 1.00 Calculate the transitive closure.
Amazon-SecretsManager BIGFOOT v1.0.0 v1.0.0 AWS Secrets Manager
App-DesktopOpenUtils PERLANCAR 0.001 0.002 Utilities related to Desktop::Open
App-Greple-jq UTASHIRO 0.02 0.05 greple module for jq frontend
App-PerlRelea…
2022.02.03 23:49

# where we turn Perl inside out

(cccxcviii) 12 great CPAN modules released last week

Updates for great CPAN modules released last week. A module is considered great if its favorites count is greater or equal than 12.

  1. Alien::Build - Build external dependencies for use in CPAN
    • Version: 2.50 on 2022-06-23
    • Votes: 21
    • Previous version: 2.48 was 3 months, 10 days before
  2. Encode - character encodings in Perl
    • Version: 3.18 on 2022-06-25
    • Votes: 56
    • Previous version: 3.17 was 2 months, 18 days before
  3. FFI::Platypus - Write Perl bindings to non-Perl libraries with FFI. No XS required.
    • Version: 1.58 on 2022-06-19
    • Votes: 56
    • Previous version: 1.57 was 8 days before
  4. Imager - Perl extension for Generating 24…
2022.06.26 00:39

(dxii) metacpan weekly report - perl

This is the weekly favourites list of CPAN distributions. Votes count: 49

Week's winners (+3): perl 

Build date: 2022/06/25 22:32:43 GMT


Clicked for first time:


Increasing its reputation:

2022.06.26 00:35

(dxl) stackoverflow perl report

These are the five most rated questions at Stack Overflow last week.
Between brackets: [question score / answers count]
Build date: 2022-06-25 22:31:06 GMT

  1. How to pass a variable from powershell to a perl script - [3/3]
  2. How to split a list in two over a condition? - [3/2]
  3. How to check system tray availability programmatically? - [3/1]
  4. Perl - How to remove mulitline numbers with a Regex - [2/2]
  5. How to print 10 lines above if specific string found in a file? - [2/2]
2022.06.26 00:31

(cccxcvii) 11 great CPAN modules released last week

Updates for great CPAN modules released last week. A module is considered great if its favorites count is greater or equal than 12.

  1. Cpanel::JSON::XS - cPanel fork of JSON::XS, fast and correct serializing
    • Version: 4.30 on 2022-06-16
    • Votes: 40
    • Previous version: 4.29 was 20 days before
  2. FFI::Platypus - Write Perl bindings to non-Perl libraries with FFI. No XS required.
    • Version: 1.57 on 2022-06-16
    • Votes: 56
    • Previous version: 1.56 was 7 months, 19 days before
  3. HTTP::Message - HTTP style message (base class)
    • Version: 6.37 on 2022-06-14
    • Votes: 61
    • Previous version: 6.36 was 5 months, 9 days before
  4. Imager - Perl ext…
2022.06.18 18:01

(dxi) metacpan weekly report - Test2::Suite

This is the weekly favourites list of CPAN distributions. Votes count: 46

Week's winner (+3): Test2::Suite

Build date: 2022/06/18 15:57:23 GMT


Clicked for first time:


Increasing its reputation:

2022.06.18 17:58

(dxxxix) stackoverflow perl report

These are the five most rated questions at Stack Overflow last week.
Between brackets: [question score / answers count]
Build date: 2022-06-18 15:48:59 GMT

  1. Closures vs. local `sub`s - [2/3]
  2. Module::Build Cache Cleanup - [2/2]
  3. Is there a map() equivalent for PDL without doing pdl( map {} unpdl)? - [2/1]
  4. Does Perl PDL have an equavelent of Math::Round::nearest()? - [2/1]
  5. DBD::Firebird encoding/decoding - [2/1]
2022.06.18 17:50

Recent MetaCPAN News

Source code permalinks are here

<p>Versioned permalinks from source code pages are <a href="https://twitter.com/metacpan/status/1244677954275336200">now available</a></p>
2020.03.29 00:00

Rendering .md files

<p>We're now rendering .md files as HTML instead of as raw code.</p>
2019.10.18 01:54

The traffic is coming

<p>As <a href="https://log.perl.org/2018/05/goodbye-search-dot-cpan-dot-org.html">announced</a> in the Perl NOC, search.cpan.org is going to redirect all traffic to MetaCPAN from 25th of June 2018. We are doing lots of work to prepare for this trebling of traffic.</p>
2018.12.02 19:30

MetaHack 2

http: //www.olafalders.com/2017/10/12/announcing-metahack-v2/<br /> <p>https://metacpan.org/about/meta_hack</p> <p>http://blogs.perl.org/users/leo_lapworth/2017/11/metahack-2.html</p>
2017.11.02 19:30

SSL improvements

<p>Our servers have had their SSL configuration upgraded, so we now get an A rating on <a href="https://www.ssllabs.com/ssltest/analyze.html?d=fastapi.metacpan.org">SSL Labs</a>.</p> <p><a href="https://www.fastly.com">Fastly</a> who serve all our content other than the <a href="https://fastapi.metacpan.org/">api</a> already had tight configs... and now so do we. I'd like to thank then for providing both examples, support and an IRC channel where Donald Stufft from the Python infrastructure team was able to hel…
2014.12.02 19:30

Liquid Web is Sponsoring MetaCPAN

<p>We're immensely pleased to announce that <a href="https://www.liquidweb.com/">Liquid Web Inc.</a> is our newest hosting sponsor. This sponsorship entails 3 powerful machines which are provided and co-located by Liquid Web Inc. Having access to this hardware will allow us greater redundancy in addition to giving us powerful machines to use as a staging area when developing new MetaCPAN features. This is a huge development for us and we'd like to thank Liquid Web Inc. for this very kind donation. More details to come!</p>
2014.11.08 03:00

Perl – *n*x

Quo vadis, Perl?

Crossroads

Foto by Carsten Tolkmit 

We’ve had a week of heated discussion within the Perl 6 community. It is the type of debate where everyone seems to lose. It is not the first time we do this and it certainly won’t be the last. It seems to me that we have one of those about every six months. I decided not to link to many reiterations of the debate in order not to feed the fire.

Before defining sides in the discussion it is important to identify the problems that drives the fears and hopes of the community. I don’t think that the latest round of discussions was about the Perl 6 alias in itself (Raku), but…

2018.11.08 20:18

So, what about (Perl 6) dependencies?

DependenciesWhen I need to program something, most of the time I use Perl 5, Go or Perl 6. Which one depends on the existence and maturity of libraries and the deployment strategy (and I must admit, probably my mood). Most applications I write at work are not that big, but they need to be stable and secure. Some end up in production as an extension or addition to the software that is the core of our authentication and authorisation infrastructure. Some programs are managed by other teams, e.g. of sysadmin-type applications like the monitoring of a complex chain of microservices. Finally, proof of concept…

2017.05.28 11:42

rakudo-pkg: Create OS packages for Rakudo Perl 6 using Docker

camelia-logo

There was an interesting discussion on #perl6 (irc.freenode.net) about the use of rakudobrew as a way for end-users to install Rakudo Perl 6 (see how-to-get-rakudo).

rakudobrew, inspired by perlbrew, is a way to manage (and compile) different versions of rakudo. nine argued that it’s primarily meant as a tool for rakudo developers. Because of the increased complexity (e.g. when dealing with modules) it’s not targeted at end-users. While being a big fan of rakudobrew, I agree with nine.

The problem is that there are no Linux binaries on the download page (there are for MacOS and Windows), so user…

2016.09.05 10:41

Vim as a Perl 6 editor

EDITED on 20170211: syntastic-perl6 configuration changes

If you’re a Vim user you probably use it for almost everything. Out of the box, Perl 6 support is rather limited. That’s why many people use editors like Atom for Perl 6 code.

What if with a few plugins you could configure vim to be a great Perl 6 editor? I made the following notes while configuring Vim on my main machine running Ubuntu 16.04. The instructions should be trivially easy to port to other distributions or Operating Systems. Skip the applicable steps if you already have a working vim setup (i.e. do not overwrite you .vimrc fil…

2016.08.20 23:17

Please test: first release of syntastic-perl6, a vim syntax checker

Vimlogo.svgI think that Perl 6, as a fairly new language, needs good tooling not only to attract new programmers but also to make the job of Perl 6 programmers more enjoyable. If you’ve worked with an IDE before, you certainly agree that syntax checking is one of those things that we take for granted. Syntastic-perl6 is a plugin that adds Perl 6 syntax checking in Vim using Syntastic. Syntastic is the leading Vim plugin for syntax checking. It supports many programming languages.

If the plugin proves to be useful, I plan on a parallel track for Perl 6 support in Vim. On one hand, this plugin will track th…

2016.08.20 21:16

Perl Web Frameworks

Spider webs and spiders

CGI

When I started programming, back in the day, CGI (the Common Gateway Interface) was still widely used. Usually the Apache webserver would just execute a script or a binary with some environment variables set and serve whatever the executable sent to the standard output, while keeping the standard error in the logs.

This simple and straightforward mechanism can still be used for small programs, but larger applications usually want to save the start-up time and live longer than just a single request.

At that time Perl was used far more often than now, and it had (and still has) the CGI.pm modul…

2022.04.19 00:00

Full-text search on a budget: Xapian

Mounted telescope monocular pointing through a wire fence

Over the years I’ve seen and implemented different full-text search applications using various technologies: plain SQL, PostgreSQL, Elasticsearch, Solr, and most recently Xapian.

While Solr and Elasticsearch are very well known, Xapian, despite the fact that it’s available and packaged in all the major GNU/Linux distributions, doesn’t seem to be so popular, at least not among project managers.

But Xapian is fast, advanced, can be configured to do faceted searches (so the user can filter the search results), and my favorite, is fast to build and has virtually no maintenance overhead.

Its main feat…

2021.08.19 00:00

Regular Expression Inconsistencies With Unicode

A mud run
A casual stroll through the world of Unicode and regular expressions—​Photo by Presidio of Monterey

Character classes in regular expressions are an extremely useful and widespread feature, but there are some relatively recent changes that you might not know of.

The issue stems from how different programming languages, locales, and character encodings treat predefined character classes. Take, for example, the expression \w which was introduced in Perl around the year 1990 (along with \d and \s and their inverted sets \W, \D, and \S).

The \w shorthand is a character class that matches “word charact…

2018.01.23 00:00

Postgres migrating SQL_ASCII to UTF-8 with fix_latin

[img]
(photograph by NOAA National Ocean Service)

Upgrading Postgres is not quite as painful as it used to be, thanks primarily to the pg_upgrade program, but there are times when it simply cannot be used. We recently had an existing End Point client come to us requesting help upgrading from their current Postgres database (version 9.2) to the latest version (9.6—​but soon to be 10). They also wanted to finally move away from their SQL_ASCII encoding to UTF-8. As this meant that pg_upgrade could not be used, we also took the opportunity to enable checksums as well (this change cannot be done via pg_u…

2017.07.21 00:00

Postal code pain and fun

[img]We do a lot of ecommerce development at End Point. You know the usual flow as a customer: Select products, add to the shopping cart, then check out. Checkout asks questions about the buyer, payment, and delivery, at least. Some online sales are for “soft goods”, downloadable items that don’t require a delivery address. Much of online sales are still for physical goods to be delivered to an address. For that, a postal code or zip code is usually required.

No postal code?

I say usually because there are some countries that do not use postal codes at all. An ecommerce site that expects to ship prod…

2017.05.10 00:00

Perl Dancer Conference 2016 Day 1

[img] Perl Dancer Conference Day 1

The Perl Dancer Conference is a great event, now in its third year. [img] The event took place in the same location as last year in Vienna, Austria at the Hotel Schani Wien. For those of you who have never visited Vienna, it is a perfect place to bring the family. From visiting the beautiful parks to taking a scenic ride on the Danube River, the beautiful and historic city is known for its rich art and musical culture, and has much to offer.

I was very excited to not only attend but also give a talk this year. My talk titled “Dancing in the Clouds” also coincided with the…

2016.11.30 00:00

Perl Jobs

Perl Developer Mid Level, Fulham, London or remote within 2 hours time difference of UK (Adzuna)

Job Title: Perl Developer

Company: Adzuna

Location: Ideally office-based (SW6, London) OR Remote within a 2 hour time zone of UK

Contract: Full-time, permanent

About us

Adzuna is a job search engine that lists every job, everywhere. From launch in the UK in 2011, we now have more than 10 million visitors a month and are busy conquering the world from our office in West London. This is a rare and exciting opportunity to join one of the UK’s most dynamic and fastest-growing startups.

The role

We’re looking for a Perl developer to help us make job search better. This is a rare and exciting opport…
2022.07.01

Full Stack Developers Java or Python with Perl and REST - USA REMOTE, USA Remote (CorGTA Inc.)

Role: Senior Full-stack Developer
Structure: Permanent
Location: REMOTE (Anywhere in USA or Canada) - working on PST timezone
Pay: Competitive base plus bonus, benefits and RRSP/401k matching
Hours: Monday - Friday (business hours)

We currently have an opportunity for a full-time Senior Full-stack Developer working for a Global SaaS company.

In this role you will work with Perl as a legacy language and migrate and build new features in either Python or Java on the back-end with React on the front-end.

The required skills for this role will be:

-Minimum 5+ years of Software Development
-6+ mont…
2022.06.26

Senior Perl Developer + NLP = Yes, Please! EU remote role, Remote within 2 hrs. time difference from Amsterdam (Perl Jobs by Perl Careers)

From Finland to the Faroe Islands, this remote role is open to senior Perl developers who are within two hours of Amsterdam’s time zone. With the freedom to work from home you can institute t-shirt Mondays, curry lunch Tuesdays, and whatever else gets you jazzed to collab with data scientists to maintain and extend our client’s AI framework.

AI, you say? You heard right! This company is a global leader in machine intelligence, and they’re looking for a Natural Language Processing (NLP) whiz who has experience maintaining and improving large Perl applications and tooling ecosystems. Working wit…
2022.06.24

Developer, United Kingdom (mySociety)

Would you like to join a small, purposeful and values driven team? We’re SocietyWorks, a friendly and fully remote team delivering expertise to local government and the public sector by developing digital services that help active citizens support flourishing communities — simply, responsibly and cost effectively. We’re looking for developers with some Python and/or Perl experience to join us and help to develop and support the rollout of digital services for highways, environment and the public realm.

SocietyWorks is trusted by local government, public sector and NGO clients in the UK and abr…
2022.06.23

Senior Developer (Perl legacy to Java or Python), North America (CorGTA)

Senior Developer - perl legacy remote EST (USA or Canada)
Pay structure: $100-170K CAD + Bonus + unlimited vacation (bonus) 
Required Travel: No Travel

Managerial - No

Location: Canada- From Home (Working from Home) 
Job type: permanent full-time

The required skills for this role will be:
* Minimum 5-7+ years of Software Development
* 1 year of Perl Development in the past 4 years
* Solid experience with Java or Python
* APIs and Web Services experience
* Experience with DevOps CI/CD
* Experience working on SaaS products is highly valued
* Cloud is a nice to have with AWS preferred
* Python is a…
2022.06.21

Senior Systems Software Development Engineer, Boise, ID (Micron Technology)

Our vision is to transform how the world uses information to enrich life for all. Join an inclusive team passionate about one thing: using their expertise in the relentless pursuit of innovation for customers and partners. The solutions we build help make everything from virtual reality experiences to breakthroughs in neural networks possible. We do it all while committing to integrity, sustainability, and giving back to our communities. Because doing so can fuel the very innovation we are pursuing.
As a Software Engineer in MaskTech Systems Team at Micron Technology, you would help develop cu…
2022.06.10

Sr. Developer, Web, Baltimore, MD, USA (Cargotel, Inc.)

We're looking for two candidates with strong Perl backgrounds to work on converting existing web pages using Vue.js. The bulk of our logic is in Perl so it is essential to have a strong to expert understanding to decipher what is required. Candidates without Vue.js that have strong Javascript framework experience will be considered. We have found that developers with a foundation in Perl that went on to learn JS frameworks are IDEAL candidates for this position. Pay rate is commensurate with talent/experience.
Note: you must be totally fluent in English (verbal and written) to apply for this p…
2022.06.08

Senior Perl Developer / db Engineer, Baltimore, MD, USA (CargoTel, Inc.)

We're looking for a senior Perl developer with a minimum of 8 years experience. We also have projects involving database replication and Disaster Recovery, db tuning using PostGreSQL. All projects require an expert level knowledge of Perl. Strong troubleshootings skills are required.
All told, we project a weekly demand for between 25 and 40 hours for the next 6 months or more. This is a remote position. International applicants are fine, as long as you are prepared to work during USA business hours.
2022.06.03