Perl 5 Porters Mailing List Summary: July 27th-31st

Hey everyone,

Following is the p5p (Perl 5 Porters) mailing list summary for the past week. Enjoy!

Hacking on The Rakudo Perl 6 Compiler: Mix Your Fix

Read this article on Perl6.Party

While testing a fix for one of the Less Than Awesome behaviours in standalone Signature objects, I came across a bugglet. Smartmatching two Signatures throws, while spilling a bit of the guts:

<Zoffix> m: my $m = method ($a: $b) { }; say $m.signature ~~ :($a, $b);
<camelia> rakudo-moar 46838d: OUTPUT«Method 'type' not found for invocant of class 'Any'␤ in block at line 1␤␤»

So I figured I'll write about fixing it, 'cause hacking on internals is lots of fun. Let's roll!

Golf It Down

The less code there is to reproduces the bug, the fewer places there are for that bug to hide. We have a detached method and then we smartmatch its signature against something else. Let's try to golf it down a bit and smartmatch two Signatures, without involving a method:

<Zoffix> m: :($a, $b) ~~ :($a, $b);
<camelia> rakudo-moar 46838d: ( no output )

Comparing Perl, Python and Ruby's testing ecosystems, part 2

I've released the second part of my series comparing Perl, Python and Ruby's testing ecosystems, on my testing-focussed blog

IRC::Client: Perl 6 Multi-Server IRC (or Awesome Async Interfaces with Perl 6)

Read this article on Perl6.Party

I wrote my first Perl 6 program—a New Years IRC Party bot—around Christmas, 2015. The work included releasing the IRC::Client module, and given my virginity with the language and blood alcohol level appropriate for the Holiday Season, the module ended up sufficiently craptastic.

Recently, I needed a tool for some Perl 6 bug queue work, so I decided to lock myself up for a weekend and re-design and re-write the module from scratch. Multiple people bugged me to do so over the past months, so I figured I'd also write a tutorial for how to use the module—as an apology for being a master procrastinator. And should IRC be of no interest to you, I hope the tutorial will prove useful as a general example of async, non-blocking interfaces in Perl 6.

The Basics

August Perl Meeting (Sydney)

Please join us on Wednesday, August 17, 2016 from 6:30pm at Fishburners (608 Harris Street, Sydney, NSW)

Speakers are still being selected, please let us know if you would like to present a talk or lightning talk.

Join us on:

Perl 5 Porters Mailing List Summary: July 23rd-26th

Hey everyone,

Following is the p5p (Perl 5 Porters) mailing list summary for the past half week. Enjoy!

Alpine Perl Workshop 2016 - Cfp extended - Keynote speaker wanted


Not able to manage it to get to YAPC?
You are going to YAPC and you need more Perl talks?

Come to Alpine Perl Workshop, come to Innsbruck.

Consider to submit a talk.

Call for papers is extended till Sunday, August 21.

Sparrowdo automation. Part 4. Managing users and groups.

Hi! These are the previous articles:

This one is going to be quite short. We will learn how to manage linux users and groups using sparrowdo.

Let's get back to our ubiquitous example of installing CPAN modules:

task_run  %(
  task => 'install 2 modules',
  plugin => 'cpan-package',
  parameters => %( 
    list => 'CGI DBI'

If we run this one we will see that CGI and DBI CPAN modules get installed into system paths, which is ok.

Consider a following case though:

  • create a user account

  • install some CPAN modules locally for this user

Basically this means that once a user gets logged into his account he should be able to use his modules:

$ ssh -l some-user $some-host
$ export PERL5LIB=~/lib/perl5/
$ perl -MDBI -e 1
$ perl -MCGI -e 1

Let's rewrite our latest code adding user account here:

About is a common blogging platform for the Perl community. Written in Perl and offering the modern features you’ve come to expect in blog platforms, the site is hosted by Dave Cross and Aaron Crane, with a design donated by Six Apart, Ltd.