Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW

Perl News

( #23771=superdoc: print w/replies, xml ) Need Help??

For the latest news on what's happening in the Perl world, check out these sites:

If you have a Perl-related news item you'd like to share, you may post it in the Perl News section. Please try to avoid duplicating news; but pointers (with summaries) to important stories on other sites are acceptable here.

Perl News
[partially OT] - wiringPi deprecated
2 direct replies — Read more / Contribute
by marto
on Aug 24, 2019 at 06:27

    wiringPi, a library for GPIO access on the Raspberry Pi is now deprecated, for the all too familiar reasons of abuse and unreasonable expectations of others. I think all of the perl and python libraries I've seen for Pi GPIO are dependent on this.

Perl 6 to be renamed?
3 direct replies — Read more / Contribute
by bangor
on Aug 12, 2019 at 14:33
    In a blog post by Dave Cross on the Perl conference in Riga there is this...
    The second day started with Liz Mattijsen’s keynote DeMythifying Perl 6. I was surprised when she stated that “Perl 6 has damaged Perl 5” was not a myth, but a fact and was totally blown away when she followed that up with a proposal to rename Perl 6.
    There seems no reference to this anywhere else.

    Blog post

PerlCon 2019 in Riga live streams
2 direct replies — Read more / Contribute
by Corion
on Aug 07, 2019 at 03:18
Perl plugin for IntelliJ IDEA 2019.2 available
No replies — Read more | Post response
by hurricup
on Jul 23, 2019 at 10:53


    • Type inference
      • Plugin now understands Perl much better and can infer values of different operations and invocations. Therefore - resolve and completion should be much better in many places. (Seriously, sometimes it's looks just like a magic.)
    • Names suggester now taking inferred values into account when suggesting variable names.
    • Introduce variable action is now available for the Perl code
    • Documentation
      • Pod support has been deeply re-worked and should be much better now
      • Quick-doc on built-ins
      • Quick-doc on completion elements
      • Better completion, live-templates, smart keys, resolve and refactoring for POD
      • Re-worked POD color settings
    • Mojolicious
      • Basic project model
      • Actions to create an application, plugin or lite application
      • Mojolicious::Lite DSL support


    • A lot of additional tests and related bugfixes


Hotel option YAPC::EU 2019 in Riga
1 direct reply — Read more / Contribute
by LanX
on Jul 21, 2019 at 12:25

    Because of a music festival it's extremely difficult to find a bed for the night before the talks start on the 7th of August, but I finally found something.

    That's why I'm cancelling my other reservation for a 3 bedroom apartment from the 7th till 10th of August. It's only 200 m from the venue and very affordable if you can share.

    If interested here is the link

    Luxury Riverside 3br Apartment Next to Old Town in Rīga

    I already posted this on the telegram channel which is replicated on IRC, but without reaction.

    (And I wasn't able to find a conference wiki, so I'm sharing here)

    Hopefully it's of help for someone else.

    Cheers Rolf
    (addicted to the Perl Programming Language :)
    Wikisyntax for the Monastery FootballPerl is like chess, only without the dice

Cloudflare uses Regexp::Debugger in explaining the outage
2 direct replies — Read more / Contribute
by reisinge
on Jul 18, 2019 at 09:01

    See "Appendix" of this blog post.

    Adding manpower to a late software project makes it later. -- Brooks law
Cloudflare blames PCRE for outage
3 direct replies — Read more / Contribute
by dmitri
on Jul 15, 2019 at 20:31
    This is the regular expression that caused all Cloudflare servers to use 100% CPU and thereby cause a 27-minute outage:
    (?:(?:\"|'|\]|\}|\\|\d|(?:nan|infinity|true|false|null|undefined|symbo +l|math)|\`|\-|\+)+[)]*;?((?:\s|-|~|!|{}|\|\||\+)*.*(?:.*=.*)))
    The last part of the regex is odd:
    The last grouping does not do anything useful: it is not followed by a quantifier, nor does it capture. It can be simplified to
    or to some variation thereof. But this is not how the regex discussion ends in the blog post:
    But laziness isn’t the total solution to this backtracking behaviour. Changing the catastrophic example .*.*=.*; to .*?.*?=.*?; doesn’t change its run time at all. x=x still takes 555 steps and x= followed by 20 x’s still takes 5,353 steps.

    The only real solution, short of fully re-writing the pattern to be more specific, is to move away from a regular expression engine with this backtracking mechanism. Which we are doing within the next few weeks.

    I am guessing this is politically driven: Some people at Cloudflare want to use Rust and this snafu is a convenient excuse.

    Another angle to consider is that of personnel. The postmortem does not dwell on the fact that this regular expression made it through review. Meaning that not only the person who wrote the regular expression was unaware of the backtracking potential of the above, but neither did the reviewer.

Video playlist of the 21st German Perl Workshop 2019
1 direct reply — Read more / Contribute
by haj
on May 28, 2019 at 16:32

    The videos of the 21st German Perl Workshop 2019 in Munich are available!

    See the playlist at for several hours of binge-watching Perl. Most talks are in German, slides are in English.

    Thanks to Corion and the team for their rendering work and to Lee Johnson for bringing the EPO equipment (EPO = Enlightened Perl Organisation)!

berrybrew 1.23 released!
No replies — Read more | Post response
by stevieb
on May 26, 2019 at 13:07

    It's been quite a while in the making, but berrybrew version 1.23 now has the ability to "clone"** modules from one Perl instance into another.

    It's currently a two-step process.

    First, berrybrew switch into the Perl instance you want to export the module list from, then

    berrybrew modules export

    This will create a text document in a newly created modules directory within your Perl installation directory (by default, C:\berrybrew), named after the version of Perl you exported the module list from (eg: 5.20.3_64). This file has a single distribution name per line.

    You can go ahead and edit this file (remove or add as many distribution names as you like), then when you're ready to import into a different Perl instance, simply berrybrew switch to it (note that as always, when switching Perls, you must close the command window and open a new one), then:

    berrybrew modules import

    That will display a list of all available export lists:

    run the command with one of the following options: 5.16.3_64 5.20.3_64

    ...simply do what it says there:

    berrybrew modules import 5.20.3_64

    This can take a very, very long time, so it's advised to only import on a Perl instance that's newer than Perl you exported from. That, or significantly clean the file up for unneeded distributions.

    Another benefit to this system, is that you can manually create a module "bundle" file within the mentioned "modules" directory, and add all distributions you prefer on all of your Perls. So:

    • create a C:\berrybrew\modules\base_modules_template file
    • add in any distributions you want to automatically and easily install
    • switch to the Perl instance you want to install into (or just make this habit for each new install you perform)
    • run berrybrew modules import base_modules_template to have your custom distribution list installed automatically

    You can remove all exported files by using the berrybrew clean modules command, but beware that if you have any manually created export files per above, they will be removed as well. I've got an issue open for the next release so that clean modules leaves any custom files in place.

    Most of the other changes were quite minor this round, mainly back-end stuff, doc updates/fixes and test additions/modifications, along with an updated perls.json file with the newly released 5.30 version.

    Feedback, as always, is welcome (as are any bug tickets).



    ** - we don't actually clone or copy anything; on import, we use cpanm to do a full install of each listed distribution/module, each will have the most recently available production release installed.

Strawberry Perl 5.30 released!
No replies — Read more | Post response
by stevieb
on May 25, 2019 at 12:17

    Strawberry Perl has released version 5.30, as mentioned in the CB by BernieC.

    If you use berrybrew, simply run berrybrew fetch, and the new version will be available for install/use.

Perl 5.30 is official!
2 direct replies — Read more / Contribute
by talexb
on May 22, 2019 at 09:44

    Here is the POD for 5.30. Enjoy, and thanks to all of the contributors!

    Alex / talexb / Toronto

    Thanks PJ. We owe you so much. Groklaw -- RIP -- 2003 to 2013. is down
1 direct reply — Read more / Contribute
by reisinge
on Apr 23, 2019 at 09:04

    It has been down for (at least) two days now ... :-(

    Update: You can use for now. More info on reddit or IRC.

    A bad system will beat a good person every time. -- W. Edwards Deming
Perl Code Jam 2019
No replies — Read more | Post response
by choroba
on Apr 05, 2019 at 14:02
    The Qualification Round of the Google Code Jam 2019 starts in 5 hours! The round lasts 27 hours, so there should be enough time to gather the needed 30 points.

    Perl used to be supported in the Code Jam, but last year, the support was dropped. The great news is Perl support is back! Enjoy rather fresh 5.24.1. See you in the scoreboard!

    map{substr$_->[0],$_->[1]||0,1}[\*||{},3],[[]],[ref qr-1,-,-1],[{}],[sub{}^*ARGV,3]
April 1 Article on Perl
2 direct replies — Read more / Contribute
by choroba
on Apr 05, 2019 at 04:21
Weekly Challenge
2 direct replies — Read more / Contribute
by hippo
on Mar 31, 2019 at 08:31

    manwar has started a Perl Weekly Challenge to encourage both those new to Perl and old hands to try solving a weekly problem or two with Perl. Anyone can sign up at any time or just browse the blogged solutions (the first one is from BooK).

    Solutions to the challenges are encouraged in either/both Perl or Raku so there should be something for everyone.

Add a piece of Perl News
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?

    What's my password?
    Create A New User
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others wandering the Monastery: (3)
    As of 2019-08-25 13:13 GMT
    Find Nodes?
      Voting Booth?

      No recent polls found