mamot.fr is one of the many independent Mastodon servers you can use to participate in the fediverse.
Mamot.fr est un serveur Mastodon francophone, géré par La Quadrature du Net.

Server stats:

3.1K
active users

#perl

28 posts27 participants5 posts today

Me in 2005: Man, I wonder if Perl 6 will ever get here. Thankfully Perl 5 is still great!
Me in 2025: Man, I wonder if Perl 7 will ever get here. Thankfully Perl 5 is still great!

Don't get mad at me, #Perl peeps. I love you. At least you value backwards compatibility! *COUGH* *COUGH*

Disclaimer: I haven't seriously written any Perl code in a long time, but the language still has a special place in my heart.

Nah Bitch, now you're on *My Family's Turf*.

I asked Google for an #ASCII ART generator (because this isn't my machine, I have two bookmarked) so and "AI" was all up in my space "Let Meeee do your ASCII Art!!!

Fucker, I'mma go find some site that looks like it's from 1998, probably using #Apache and #CGI to rattle less than a hundred lines of stale, crufty, #PERL code, if ... *IF* someone didn't #monster_bash it out.

Logging into my #NextCloud to get my fucking #bookmarks because fuck this.

The try/catch feature in #Perl is weird.

Not in any functional way, mind, it's great that we don't have to eval anymore, and so on.

But the lack of `my` when spawning the error variable grinds my strict gears real bad.

```perl
try {
die "sutin";
} catch (my $err) {
say "died of $err";
}
```

is a grave error and the compiler complains:

> Can't redeclare "my" in "our" at -e line 1, near "(my"
> syntax error at -e line 1, near "(my "

It sticks out like a sore thumb.

Here's an excellent tutorial by Paul Cochrane on building Map::Tube modules for Perl. If you're looking to create route-finding functionality for public transit systems, this is a great starting point. Paul walks us through setting up a module from scratch using test-driven development to implement a tram network for Hannover, Germany.

This is part one of a five-part series.perl.com/article/building-map-

#perl @perl @tag-perl #programming

Perl.comBuilding Map::Tube::<*> maps, a HOWTO: first stepsFirst steps at how to build your own Map::Tube::<*> map

I can't remember if I asked this already, but I'm not seeing any search results...

Any #Perl #PerlDev folks able to shed some light on my issue installing Alt::Devel::CallParser::ButWorking ? I get an error but it's unclear how to remediate.

I'm trying to install it in an #AlpineLinux 3.19 Docker image -- it installs fine on Alpine 3.14. In 3.19, I get:

error building lib/Devel/CallParser.o from 'lib/Devel/CallParser.c' at /usr/share/perl5/core_perl/ExtUtils/CBuilder/Base.pm line 185.

Continued thread

Different languages are good at different things.

People have mocked #Perl for being a "write only" language, but I feel like the Perl community should take pride and own that slur - you don't need to constantly read and re-read and re-re-read (and edit) the Perl code, because it just keeps working.

Not so with #Python. Python will deprecate your shit and you will NEED to re-read that code so you can make pointless edits to keep it working.

Replied to veer66

@veer66
Both statements can be true!

Perl's TIMTOWTDI slogan, "There Is More Than One Way To Do It" is a feature to the enlightened and a flaw to prescriptivists who recoil from "choice is good".
("Perl doesn't have a Rails" - Right, it doesn't have a=one, it has choice of seven, where seven is a variable.)

Predictability is intentional. Perl5 for a decade put compatibility ahead of progress; techniques to allow both have revived progress without sacrificing compatibility.
#perl5 #perl

Breaking data.table in #rstats.
This was noticed by our brilliant data analyst Hamza Mir, when analyzing a 10 #gigarow #EMR dataset. #fread will assign a name to each row, i.e. the row number. If the number of lines exceeds 2^31, then a long vector of names has to be generated and R does not support those apparently (yet).
Reproducible example (#Perl code to generate a very large dataset on left, and #rstats output with failure).
ALT-text for code.
See also stackoverflow.com/questions/76

I can't really figure this one out, please help.

I have a whole bunch of modules that layer on each other and I decided to try to use Mojo::Promise to go async. After running into issues I tried to mock some code on the command line and both M:P and Future do the same in that the inner "then"s do not seem to do anything.

```
sub outer{my $p=inner()->then(sub{say "o"}); $p}
sub inner{my $p=Mojo::Promise->new->then(sub{say "i"});$p->timer(1); $p}
outer->wait();
```

prints o only.

About 25 years ago, I disliked that so many Debian tools were written in Perl because the language allowed too many ways to do the same thing. Now, I consider Perl 5 mature and predictable compared to Python 3.

⚠️ Alerte sécurité #Perl – CVE-2024-56406

Si vous avez une solution ou un site exposé sur Internet avec Perl (v5.34 à v5.40), prenez 1 min pour lire ceci
⬇️
Une faille heap buffer overflow dans l’opérateur tr/// permet de planter Perl via une simple ligne de code :
⬇️

perl -e '$_ = "\x{FF}" x 1000000; tr/\xFF/\x{100}/;'

➡️ Risque d'attaque opportuniste par déni de service

🎯 Possiblement à risque si exposés:

  • Portails d'hébergements mutualisés

  • Scripts Perl manipulant des entrées utilisateur

  • Stacks locales (ex : XAMPP)

🔒 Pour se protéger :

Mettez à jour en 5.40.2 ( metacpan.org/release/SHAY/perl) ou 5.38.4 (metacpan.org/release/SHAY/perl)

cPanel
⬇️
docs.cpanel.net/changelogs/110

MetaCPANperldeltawhat is new for perl v5.40.2
The Perl 5 Porters have released #Perl versions 5.40.2 and 5.38.4 to address CVE-2024-56406. It is believed that this #security #vulnerability can enable Denial of Service or Arbitrary Code Execution attacks on platforms that lack sufficient defenses.

You can soon download both from your favorite #CPAN mirror or find them at:

https://metacpan.org/release/SHAY/perl-5.40.2/

https://metacpan.org/release/SHAY/perl-5.38.4/

Changes are listed in their respective “perldelta” documents:

https://metacpan.org/release/SHAY/perl-5.40.2/view/pod/perldelta.pod

https://metacpan.org/release/SHAY/perl-5.38.4/view/pod/perldelta.pod
MetaCPANperl-5.40.2The Perl 5 language interpreter