Issue #72 - 2012-12-10 - Are you relying on hash keys being ordered?

latest | archive | by Gabor Szabo
Don't miss the next issue!


as I expected the number of posts went up in a crazy way. Not only the 7 or so Perl-related Advent calendars (3 new are listed here), but the number of individual posts is also much higher than in the previous 3 weeks. I wonder if this is already the (cold) winds of the Christmas Holidays?

There is also a new event added, for January, the Perl Oasis conference in Orlando, Florida. Check it at the end of the newsletter.

Enjoy the articles, and make sure you check out the Advent calendars as well!

Gabor Szabo

Advent Calendars

Korean Perl Advent Calendar Tweet Facebook Google+

It was left out last week.

Catalyst Advent Calendar Tweet Facebook Google+

With a bit of delay, but the Catalyst Advent Calendar also went live.


Are you relying on hash keys being ordered? Tweet Facebook Google+
by Breno de Oliveira (GARU)

When people use the keys() function on hashes, they quickly notice that the result is always the same. It takes a lot of energy to tell them they cannot rely on this order. With the recent changes in perl this will be much more obvious, making it easier to teach. This will also break the code of all those people who rely on the order despite what the documentation says. Breno G. de Oliveira explains it clearly and even show how the order that keys() returns changes even in current versions of Perl.

Adding Macros to Excel::Writer::XLSX Tweet Facebook Google+

John McNamara described his adventure while adding macros. You can already use them and even add a button to invoke the macros.

Getting started with ZeroMQ and AnyEvent Tweet Facebook Google+
by Thomas Klausner (DOMM)

Thomas Klausner goes into great detail and explains how to install and use ZeroMQ (The Intelligent Transport Layer) to speed up communication between machines. If only I could get longer lines on his web site...


Dance For Me, Caribou, Dance! Tweet Facebook Google+
by Yanick Champoux (YANICK)

While rewriting Galuga, the blogging engine Yanick Champoux (yanick) wrote, he takes us on a ride to the world of DBIx::NoSQL::Store::Manager and Template::Caribou.

My first week of Dancer, Xslate and Bootstrap Tweet Facebook Google+
by David Golden (DAGOLDEN)

David Golden shows his newly acquired tools. Dancer, the route-based web framework; Xslate, the templating engine; and Bootstrap which is a nice HTML/CSS/JavaScript framework released by Twitter.

CGI is dead, long live CGI Tweet Facebook Google+
by Steven Haryanto (SHARYANTO)

'CGI might be out of favor for production sites, but for personal and internal applications, it's still the best choice for me.' writes and explains Steven Haryanto. Then in the comment section you'll see how PSGI wins even when you want to run as CGI.


Finding Duplicate Code in Perl Tweet Facebook Google+
by Curtis 'Ovid' Poe (OVID)

One of the biggest problem I encounter when starting to clean up legacy code, is locating and eliminating duplicate code. For a long time I planned to write something to find them, but I never felt up to the task. I am glad Ovid started to work on this. I think this will be extremely useful in a lot of places.

Configuration Management

How to fix a configuration model Tweet Facebook Google+
by Dominique Dumont

A tutorial by Dominique Dumont to show how a configuration model can be updated.


Visually graphing module dependencies Tweet Facebook Google+

Little boxes with module names and arrows pointing to the dependencies. It looks good when there are no more than 15 boxes, but how can it be displayed in a nice way when there are 1-200 dependencies?

Count-up to 100 CPAN Distributions: Test-XML-Ordered, SDLx-Betweener, and more Tweet Facebook Google+

Shlomi has released two now modules: SDLx-Betweener which allows for creating high-performance and smooth animations in SDL, and Test-XML-Ordered that can help testing XML files.


Designing Board Games With Perl Tweet Facebook Google+
by JT Smith (RIZEN)

JT Smith, owner of both The Game Crafter and that of The Lacuna Expanse, you know, the open-source game, now explains how to build your own board game using Image::Magick.


Implementation of Macros in Rakudo Tweet Facebook Google+
by Carl Mäsak

This is the Hague Grant Carl Masak receives.


Perl community motivation survey - results Tweet Facebook Google+
by Vyacheslav Matyukhin

You might remember I mentioned the survey that Vyacheslav Matyukhin runs as his market research. The result are in now with lots of histograms.

Perl 6

Longest Token Matching Tweet Facebook Google+
by Carl Mäsak

As part of the Advent calendar Carl Masak explains how strangely consistent Perl 6 is, with the decision to change the behavior of the '|' operator in regexes to always match the longest string.

Weekly collections

Perl 5 Porters Weekly: November 19-November 25, 2012 Tweet Facebook Google+

As 5.17.6 was released with hash randomization, several modules on CPAN started to get failures from CPAN smoking.

Perl 5 Porters Weekly: November 26-December 2, 2012 Tweet Facebook Google+

Apparently rand() isn't that random on Windows. There is also a call to remove some undocumented functions from the Perl core. If you are one of those few who might use such functions, please speak up now!

Past events

LPW2012 - A short summary Tweet Facebook Google+

Ulrich Habel (rhaen) visited the London Perl Workshop.


I usually list the next 3-4 events here. The list of all the events can be found on the web site. If your Perl event is not listed there, please let me know.

2013 Perl Oasis conference, Orlando, Florida Tweet Facebook Google+

January 11-13, 2013, Orlando, Florida, USA

Israeli Perl-Workshop 2013 (ILPW) Tweet Facebook Google+

February , 2013, Tel Aviv, Israel

German Perl-Workshop 2013 Tweet Facebook Google+

March 13-15, 2013, Berlin, Germany

You know, you could get the Perl Weekly right in your mailbox. Every Week.
Free of charge!

Just ONE e-mail each Monday. Easy to unsubscribe. No spam. Your e-mail address is safe.
Perl Weekly on Twitter Perl Weekly page on Google+ Like the Perl Weekly on FaceBook RSS Feed of the Perl Weekly. Updated once a week