Perl Module Archives


I am planning on a new project, and a friend suggested me to look to Arango, as an alternative do Mongo, specially because it includes a graphs query language integrated. As I am not really used to Mongo at all, decided to give it a try.

Unfortunately I did not find a proper module to use Arango from Perl. Therefore I decided to start one from scratch. Probably not a great idea as my free time is likely non-existent. But nevertheless, I did it.

I am trying to abstract major entities (database, collection, document, cursor) in order to use them directly as proper objects in Pe…

PRC 2016 - Fouth Semester

This was not just a bad year for musicians. Unfortunately not. And the last three months were busy, with lot of (mostly bureaucratic) work. I was expecting the Christmas day to have some extra-time and do, at least one, a decent PR, but I got sick and the will to program just passed by.

So, this semester we had:

  • October, Perl-Critic-StricterSubs: my patch was to define the minimum required Perl version, as requested by CPANTS.

  • November, Net-SFTP-Foreign: following CPANTS suggestions, set the same module version for all distribution mo…

PRC 2016 - Third Trimester

Here I am again making a summary of my work during the third trimester of my second year on the CPAN Pull Request Challenge:

  • For July I got Algorithm-GooglePolylineEncoding. This module did not include a META.json file, so my PR was it generation. It was great to have interaction with the module author, resulting in an approach he liked.

  • For August, I got Module::Install. This was a problem because, as people say in the #toolchain IRC channel, nobody is maintaining the module. Also, this assignment was a little strange, given I could merge directly whateve…
  • Building C and C++ libraries with Perl

    It seems that somebody screwed it, and forgot one 20 pages article I wrote for YAPC::EU::2012 proceedings. Therefore, the proceedings are shorter, and are shamelessly incomplete. Anyway, you can read my article in all its glory here. And sooner or later I'll add the presentation too.

    More module versioning pain

    Yeah, I know, I am always complaining about module versioning. But I think this is something we need to take care when releasing.

    This time, it seems that Mail::SPF (JMEHNLE/mail-spf/Mail-SPF-v2.8.0.tar.gz) was indexed by CPAN as v2.8.0, but identifies itself as v2.008. Oh, joy!

    CPAN and undef versions (again)

    Some time ago I complained that some modules that had a version ended doing it. The problem? I use a lot the 'r' command in the CPAN client to check for outdated modules. Now, I get a lot of failures that are not really failures:

    Package namespace         installed    latest  in CPAN file
    HTML::Mason::Apache::Request     undef         0  DROLSKY/HTML-Mason-1.47.tar.gz
    JSON::PP::Boolean             undef   2.27200  MAKAMAKA/JSON-PP-2.27200.tar.gz
    JSON::XS::Boolean             undef      2.32  MLEHMANN/JSON-XS-2.32.tar.gz
    JSON::backportPP::Boolean     undef   2.27200  MAKAMAKA/JSON-2…

    New Lingua::Identify::CLD

    As if I did not have enough modules to take care already, I just started a new one. It is still on its beta version as I did not have much time to test it, and write a decent API. It is available in the usual place:

    This is an interface to a library by Google for language detection. As far as I could understand, it is part of the Chrome browser, and was just released as open source. Details here: ="…

    Sending Acme::Lisp to Backpan

    In 2004 I started an Acme module, to simulate (interpretate) Lisp written as Perl list references. It is completely useless and is just taking space on my CPAN module list.

    If anyone has any interest on it, please let me know and I'll hand it off.

    But, trust me, you do not want it.

    Dancer Recent News (1.3060 and the future 1.3070)

    Dancer is moving (or dancing?). There are some news (some more relevant than others) that I would like to share here.

    First some less relevant, but nevertheless useful features. Starting from 1.3060 you can access parameters values using a similar syntax with CGI:

       get "/foo" => sub {  my $name = param("name"); };

    Not a killer feature, but handy. Also useful, there is an accessor for cookies:

       get "/bar" => sub {  my $cookie_value = cookie "cookie_name";  };

    The location and name of the log file can be defined in the configurat…

    A good reason not to version submodules.

    Probably you do not agree with my point of view, but I think that adding version numbers to sub-modules is, most of the times, counter-productive.

    Explaining what I mean by adding version numbers to sub-modules. If I have a module, named Foo::Bar that ships with Foo::Bar::Helper, probably I don't want to add a version to Helper module.

    Or if you do, be sure to keep or increment it on every release you do.

    Why this matters? Well, it matters to the people who use cpan and the r command t…

    About Alberto Simões

    user-pic I blog about Perl. D'uh!