I'm fully covered

There seems to be a new feature of showing the coverage in metacpan. Fortunately I have already achieved 100% coverage here:


Some other places are not so fortunate.


I only have 33% coverage in my POD.

The thing is though that I deliberately didn't document these private routines.

I looked in vain through what documentation I could find for this coverage system


to find out how to tell it that these routines were never meant to be documented, but couldn't find anything except for a regular expression which ignores routines with a leading underscore.

Can anyone tell me how to tell the coverage meter to not measure these routines?

Charlotte Perl Mongers meet-and-greet

If you're a Perl developer in the Charlotte, NC area, come to the first social event for the Charlotte Perl Mongers! For more details, or to RSVP, check us out on Meetup.

Hope to see you there!

Moose Loose Ends Part the XII

Well its fix one break everything day here in the Moose-Pen

I thouhg it was just going to be one of those quick look how well things pass postette days today but I was dead wrong;

I did a check in a a quick push and then ran the full test suite and got

t/20_dad_load.t ............. Attribute (conditions) does not pass the type constraint because: ArrayRefofConditions can not be an empty array ref at /usr/local/lib/perl/5.18.2/Moose/Object.pm line 24
        Moose::Object::new('Database::Accessor', 'HASH(0x2eeb320)') called at t/20_dad_load.t line 15
# Looks like your test exited with 255 before it could output anything.
So many times I just had to kill the run. I am about 99.99756% sure it was this cnage from yeaterday

curl2lwp - convert Curl command line arguments to LWP / Mechanize Perl code

After inspiration by a comment on Perlmonks.org and some slight hacking, I'm very proud to announce HTTP::Request::FromCurl, together with its companion online site at https://corion.net/curl2lwp.psgi. The module and included curl2lwp program allow you to easily convert curl command lines to Perl code that uses LWP::UserAgent resp. WWW::Mechanize.

London Perl Workshop Schedule

With the workshop just over a week away we have created the schedule. You'll notice we still have room for a few talks, so if you have something you would like to talk about then don't hesitate to submit a talk

We have tweaked the schedule a bit from previous years to start a little later than normal and allow a little more time for lunch. You'll also notice we have a dedicated Perl 6 track and a dedicated "mentoring / beginners" track.

We also have room for more lightning talks and will favour those that are submit early. Note we may tweak the schedule slightly to make room for more talks and/or depending on other factors.

As always, thanks to our sponsors:

- Eligo
- Perl Careers
- CV Library
- Oleeo
- The Perl 6 Community
- Adzuna

Dancer2 0.207000 released

The latest version of Dancer2 is out the door, and it is chock full of changes! A few new features worth noting include:

  • send_as() now allows you to easily send plain text content (in addition to JSON and other formats (Steve Dondley)
  • Mutable serialization with custom mappings (Russell @veryrusty Jenkins, Yanick Champoux, Daniel Böhmer, Steven Humphrey)
  • A new no_default_middlewares setting to allow Dancer2 applications to work with ETag (and similar) middlewares in the Plack stack (veryrusty)

There have been a lot of documentation improvements made, driven largely by the members of our awesome community.

The full changelog is as follows:

Moose Loose Ends Part the XI

Never say never day here in the Moose-pen

Just when I though I had all the bugs out of my Database::Accessor I found a bunch more while finishing off tests case '42_new_validation.t'.

Most of the bugs where with the 'links' attribute. My test for this attribute are a check to make sure a link has a 'to' is present, and it not undef, and the same for type and then at lease on condition is present.

The first bug was

not ok 19 - type is proper link ; links
and the error it was throwing was;

 'links->type' Constraint: The Link 'undef', is not a valid Accessor Link! Try one of 'LEFT', 'OUTER', 'RIGHT'
and the value in the hash we

     'type' => 'bla',

Promoting Perl

After this weeks discussions about naming a shovel a spade, and how that would increase sales in the hardware store. I hope to start a substantive discussion around promoting Perl.

Dear Reader, please don't let the above metaphor become a stumbling block. Your ingenuity is desperately needed.

The first hypothetical question I would pose is:
  • If you had $10,000 to promote Perl - what would you do with it?
Please don't get lost on the dollar figure. This is intended to be an exercise in stretching the imagination. Another question pair is:
  • What meaningful metrics could be used to measure Perls growth? (github stars? ithub commits? cpan releases? others?)
  • What activities could be co-ordinated and performed, that would increase these key metrics?
A quick Google search (or, DDG) provides many peoples thoughts about growing open source projects:

Rakudo.js update - running tests in the browser using Karma

After fixing some strangling bugs and implementing some unimportant but fickly to implement
features rakudo.js now passes our targeted test subset. Some of the fickly features where
things like basic support storing fetching and ++'ing int64/uint64 variables etc. (rakudo.js is 32bit because that's what fits into basic JavaScript numbers).

Focus has now moved to running the roast tests in the browser itself.
For this I'm first precompiling the test files (which has it's own share of problems that I'm working around as rakudo doesn't yet fully support precompling scripts only modules).
For example all the compile time deps are recorded with a custom CompUnit::Repository
Then I'm bundling them together with parcel into a single .js file.
I'm running it with a Karma runner and Headless Chrome.
When running under karma the nqp runtime intercepts the TAP on STDOUT and reports the results to the karma harness.

2019 DC-Baltimore Perl Workshop!

Greetings all!

After a brief break (and local hosting of The Perl Conference 2017), we are again hosting the DC-Baltimore Perl Workshop in Silver Spring, Maryland on Saturday April 6, 2019! The day will be dedicated to two tracks of Perl-related technology talks, targeting all levels of programming experience.


Our Call For Presenters is open! Find some info on our site, or jump directly to the talk submission form.

I'm looking forward to learning a few things, making new friends, and greet returning attendees on our ... mmm... 6th iteration of this workshop :)

Direct questions to dcbpw-organizers@googlegroups.com.

Adding a ROADMAP section to the POD

I've like to propose adding a ROADMAP section to module documentation.

It would be a *short* summary of planned changes for future versions, noting what features would be removed or changed, or upcoming new features that will be added.

More detailed roadmaps should be put in a separate file (e.g. `ROADMAP` or `ROADMAP.md`) that should be referred to in the section. Or link to the roadmap if it's online.

meta::hack is back!

We're in Chicago and we're hacking on MetaCPAN.

Read the full post.

Announce: Raku Perl 6 'Diwali' 6.d Language Specification Release

On behalf of the development team, it brings me great pleasure to announce the 6.d ‘Diwali’ major version release of the Official Specification of the Raku Perl 6 programming language.

Please see the PDF of our Release Brochure for all the details: marketing.perl6.org/id/1541379592/pdf_digital (print-friendly version is also available on marketing.perl6.org)

If you are unable to view PDF documents, most important details are also available as a plain text file in the repository github.com/perl6/roast/blob/master/docs/announce/6.d.md

Compiler releases with 6.d as their default language version will follow their standard release scheduling (for Rakudo compiler, release process will start on 2018-11-17)

Happy Diwali!


Mojolicious Advent Calendar 2018 call for posts

Do you want to post an article in this year’s #mojolicious #AdventCalendar? I’ve just posted a call for articles in the mailing list. You do and know things that other people want to learn about, I promise!

Read more in Call for posts: Advent Calendar 2018!

(Please reply there, as I don’t get notifications from this site on comment.)

Graphics::ColorNames changes

I have been making a lot of changes to Graphics::ColorNames lately. The module has gone too long without any maintenance, and suffered from feature bloat.

Some notable changes that are already on CPAN:

  • A switch to semantic versioning, e.g. v3.3.3.
  • Some color schemes (Netscape, HTML, Windows) have been moved to separate modules.
  • The Netscape and HTML schemes have been deprecated in favor of the WWW scheme.
  • The X scheme has been updated to the latest X-Windows colors (which includes the CSS/WWW colors).

Roadmap for the future

I am planning on making the following changes:

  • Removing autoloaded method names for colors.

  • Removing the (deprecated) tied interface, but putting that in a separate module

  • Moving the color schemes into the Graphics::ColorNames::Schemes namespace, but provide an option to use the old namespace.

  • Change it to a Moo-based class

  • Removing support for Perls < v5.10.

Mojolicous: configure plugin's actions

While writing plugins we can do something:

$app->plugin( Auth => {
    user_check =>  sub{
        my( $user ) =  @_;

        # authentication_code_here;

But I prefer to keep my sturtup sub clean. Thus I route to controller’s action:

$app->plugin( Auth => { auth_check => 'auth#check' } );

Doing so I need to check in my plugin passed value. Is it sub or shortcut auth#check?

And to simplify checking I implement next route shourtcut

Next stable DBD::SQLite will be released at the end of November

DBD::SQLite 1.59_03 (with SQLite 3.25.2) is a release candidate of the next stable DBD::SQLite. Notable new features by the upstream are PostgreSQL-style UPSERT (3.24.0), ALTER TABLE table RENAME COLUMN oldname TO newname (3.25.0), and window functions (3.25.0), among others.

It also contains a fix that changes how to store values in a PerlData virtual table. If you use PerlData virtual table, this may affect your applications.

I'll wait for about a month as always, and release 1.60 at the end of November if there's no blocker nor request to wait more. Thank you for patience.

The Perl Conference - Glasgow 2018 - Individual videos now live

Thanks to the hard work of Shadowcat Systems, the individual videos are now available:


cPanel Theatre

Zoopla Theatre

Pirum Theatre

Monthly Report - October

Perl 6 Advent Calendar 2018 Call for Authors

Read this article on Rakudo.Party

Every year since 2009, the Perl 6 community publishes a Perl 6 advent calendar, in the form of blog posts on perl6advent.wordpress.com.

To keep up this great tradition, we need 24 blog posts, and volunteers who write them. If you want to contribute a blog post about anything related to Perl 6, please add your name (and potentially also a topic already) to the schedule, and if you don't yet have a login on the advent blog, please tell Zoffix or someone on #perl6 IRC chat your email address so that they can send you an invitation to Wordpress for the site.

Perl 6 advent blog posts should be finished the day before they are due, and published on midnight (UTC) of the due date as publishing date.

If you have any questions, or want to discuss blog post ideas, please join on the #perl6 IRC channel on irc.freenode.org.

About blogs.perl.org

blogs.perl.org 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.