List of Perl modules comparison articles
Just created a wiki page at the Perl 5 Wiki, mainly to catalog the great work that Neil Bowers has done. Hopefully it can be helpful for module shoppers. The page should probably be linked from elsewhere.
Just created a wiki page at the Perl 5 Wiki, mainly to catalog the great work that Neil Bowers has done. Hopefully it can be helpful for module shoppers. The page should probably be linked from elsewhere.
In my last post I talked about partial parsing of Perl using my new parsing algorithm, Marpa. This post explains how I do it. For those interested, the code for the example in my last post can be found in t/curly2.t in Marpa::R2 2.015_001 (a developer's version). For convenience, I've also pulled t/curly2.t out as a Github gist.
This technique will work for languages other than Perl. In fact, this technique could be used to look for several different target languages at once, for example, when searching a database of emails that might include code segments in Perl, HTML, C, etc.
For clarity, I will often refer to the Perl and C programs being sought as targets in text as "code segments". In the context of this blog post, a string is only considered to be a valid "code segment" if it is also a valid and complete program.
Some of my cPanel colleagues came up with a new coding style. They are standing.

First it was Phil King standing in his office, after first attempts with a big ball failed and his back still hurts sometimes. Now Nick Jackson (on the picture) joined him, and others announced to follow.
This desk is called geek desk and has a motor and remote control attached.
We don't have the schedule for the talks yet. To help you plan your travels, here is the rough plan into which the talks will fit:
Monday 20th, 9am to 10:30 registration
10:30 start of the conference, keynote
19pm - Social event at Depot 1899
Tuesday 21st, 10am start of the conference day 2
17:30 - end of last talk of day 2
Wednesday 22nd, 10am of the conference day 3
17:00 - end of last talk of day 3
We'll publish the more exact times once the schedule gets more solid and we've checked with the venue on the lunch times.
The Perl Foundation is having a Community Advocacy kick-off event in Chicago on August 7th. It’s going to be a fun, social event with talk about community. A “symposium” (check out the dictionary definition). It will be in a nice Irish pub with room for 72 people in a private upstairs area. Food and drink will be available, possibly some sponsored.
Contact Yaakov Sloman <yaakov@perlfoundation.org> with your questions.
As we have more details we’ll keep you informed.
[From the YAPC::NA Blog.]
After another busy month outside of the Perl world, I have gotten a little more time in the last week to work on Alien::Base. I must especially thank fellow WindyCity.pm member David Mertens for working with me on some of the Mac problems involved.
N.B. I also want to thank him for PDL::Graphics::Prima, which made the rest of my $work easier this month! If you need interactive plotting, give it a look! Also Chicagoans, WindyCity.pm is tomorrow, topic: Dancer.
Here's what I have been using in my ~/.bashrc for the past few months:
echo "UPCOMING TODOS:"
list-org-todos --due-in 7 --group-by-tags ~/o/todo.org
echo "UPCOMING ANNIVERSARIES:"
list-org-anniversaries --has-tags '[remind_anniv]' --due-in 14 --max-overdue 7 ~/o/addressbook.org
list-org-todos and list-org-anniversaries come with App-OrgUtils, which in turn uses Org::Parser.
The Kephra rewrite is doing very well, expect some great revelations even for Wx programming in genereal. But today i just want to rant about bibucket, which hosts my hg repo for most of my projects. I mean i like mercurial better then git, or should I say liked. the more I learn about the raw awesome power of git the more I find it perlish. But surprisingly what bit me just today is that bitbucket doesn't have this nice graphs. I just underestimated how motivating they can be.
I've made Business::ISBN much more fresh, and allowed users to freshen it themselves without installing a new version.
A long time ago, I created the Business::ISBN to help me cleanse a publisher's database. That is, to help them cleanse the Excel workbook that they were using as their database. About 10% of their ISBN's were wrong in the file, and this little bit of Perl identified the problem (while an intern took those titles and looked them up online and corrected them in Excel). I think this was my second CPAN distribution.
To check an ISBN, there are several things to look at. The last digit is a checksum. If that doesn't check out, something else is wrong. The group code, the publisher code, or the book code might be wrong. These things move around slightly though.
Hi mst! I joined the club.
On Saturday I gave up trying to fix WiFI on debian for my ASUS Zenbook laptop. WiFi works fine on all accesspoints. All but one, my home WiFi. It worked for months in my previous home. Something happened.
First I got around with USB tethering via my phone and the phone wifi. Last week even this failed. Because I have such a new laptop I need a new linux kernel. To support closing and re-opening the lid. I hacked wakeup, but suspend still gets the battery hot, I guess the GPU is still running. linux kernel 3.3 needed some patches, 3.4 works fine out of the box. But NetworkManager not. I suspect it is the new avahi demon, which was added to support link-local connections if everything else fails. But my link-local route has metric 1000. I cannot change nor delete it.
Here are the most popular ebooks from Jul 16 2012 to Jul 22 2012:
Release"One of the secrets to mathematical problem solving is that one needs to place a high value on partial progress, as being a crucial stepping stone to fully solving the problem." -- Terence Tao
Once an error is found, a traditional parser is pretty much lost. This is true for even state of the art compilers and interpreters. One small typo results in many screens of useless diagnostics. If you're an old hand, you scroll back over these, knowing that, for the better quality compilers, the first few lines often have something to do with the real problem. With Marpa, we can do better than this.
The YAPC::EU blog says "Our final voting round ends on Friday." So, Friday has gone by, does that mean that all talks that have not been accepted now have been rejected?
And if so, are we really not going to have a single talk on Perl 6? I know that some good speakers (and I don't mean me :-) have submitted talks on Perl 6, and I'd be rather disappointed if they all got rejected.
Can anybody tell me what's going on?
I am following lots of Perl related blogs, including most of those posted on blogs.perl.org, and share many of those posts on the various social channels of Perl Weekly.
Both Facebook and the Google Page fetch the images embedded in the post and offer them as thumbnails. If you look at the pages, I think the ones with images stand out more and are probably read by more people.
We will have a lot of books at the venue: Liz and Wendy will bring their incredible Perl library to the venue. If you want to know which Perl books exist, you should have a look at the library. As far as we know they have all Perl books ever written.
And there will be a booth where you can buy books. That booth is run by "Gutenberg-Buchhandlung".
I would like to announce two new CPAN distributions of mine: App-Notifier-Service and App-Notifier-Client. These are derived from a few simplistic scripts I've written in shell and Perl, to allow me to notify when a task has finished (e.g: make ; finish-client) or a certain time has elapsed (e.g: sleep 240 ; finish-client), and I decided to create something more serious as CPAN modules.
App-Notifier-Service implements an HTTP service (using Dancer), which listens for requests, and once one arrives, implements a callback, which notifies the user on the localhost that the event occured. App-Notifier-Client complements it by implementing a client that connects to the service and sends the event.
Currently documentation may be lacking, and there are almost no automated tests in the distributions, but it appears to work nicely. To get started, read the documentation and you may wish to peruse some of these files from my home directory. First of all, the .app_notifier.yml file:
I've published a review of CPAN modules for making HTTP requests. This covers 20 different modules from 19 distributions. I focussed on making GET and POST requests, whether the module supports https and redirects, and some other features.
As ever, I've no doubt missed a couple — let me know if you're aware of one not on the list. Also happy to hear if there are other aspects you think should be included in the comparison.
Did you know that 22/7 is actually a better approximation of pi than 3.14 is?
use DateTime;
use Math::Trig qw(pi);
use Test::More tests => 1;
my $today = DateTime::->now;
my $dm = sprintf '%d/%d' => ($today->day, $today->month);
cmp_ok(
abs( eval($dm) - pi ),
'<',
0.0015,
)
or diag("this test only passes on 22/7")
BinGOs will give a talk at YAPC::Europe 2012 described as
Perl. Windows. The two are often seen as incompatible.But they aren't.
I will distill and present 13 years or so of experience of
running Perl on the Windows operating system.Topics covered will include:
- Strawberry Perl
- ActivePerl
- Cygwin Perl
- Building Perl from source
- Active Directory manipulation with Perland much more.
I've previously written about Any::Moose and suggested using it instead of Mouse in order to provide interoperability in code. You get Mouse unless Moose is needed and in that case you get Moose.
However, there are a few problems, mainly having some incompatibilities between Moose and Mouse (which has been drastically reduced to have as little side-effects as possible) and the load order being tricky. My original post relates to that specifically.
We now have Moo! Moo is very small, yet maintains much compatibility by simply not getting into the whole "metaclass protocol" thing, and giving you Moose-like attributes. Moo can also inflate properly into Moose objects, giving you what Any::Moose does, but correctly.
mst has written a very compelling post explaining how Mouse was started and how Any::Moose was designed in contrast to Moo, and why you should use Moo instead of Mouse or Any::Moose.
Moo is so awesome, I've started moving many of my modules to Moo. Dancer 2 is also based on Moo.
So, "can we have a smaller faster implementation of the basic parts of Moose?" - Yes, we can, it's called Moo.
blogs.perl.org is a common blogging platform for the Perl community. Written in Perl with a graphic design donated by Six Apart, Ltd.