Yet another stupid mistake #4

use Plack::Builder;

Instead of:

$app = builder { ... };

I wrote:

$app = sub { builder { ... } };

Now watch the weird errors you'll get if you do the same.

Perl module ideas #2

About the Perl Module Ideas posting series. Previous posts: #1.

* Archive::Manager (or Archive::Writer) using libarchive. There is now already Archive::Extract::Libarchive but a generic interface for writing would be nice too.

* Something to replace Log::Log4perl for my Log::Any::App (or Log::Any in general, so maybe I'll end up with a Log::Any::Adapter::Something). Log4perl is nice and all, but its startup is a bit slow. I don't need all its features. All I need to do is combine the various Log::Dispatch modules and give them categories. I know, there are already too many log modules on CPAN, so I'll look at them first before reinventing the wheel.

* A front-end (or tutorial, or something) for Marpa. Being a parser newbie, I always end up with Regexp::Grammars as that's the easier one to use.

* (Continuing idea on previous post) A generic framework for App::perlmv and App::perlmp3tag and other similar application. Or even, a generic framework for application that works on a tree (not just directory tree).

* A DateTime::Format module to parse natural dates/times that is easy to translate. Currently DateTime::Format::Natural is English-only and hard to translate.

Document Driven Development

Maybe the most ibnteresting talk I held this season was about this DDD. This is just a sneak preview since I give it once more in Vienna and my concept will be much better after it. Then i will publish here entirely.

I borrowed the term a bit from the django-guys, even Al Iho (the a in awk) tought 20 years ago this way. (thanks cromatic to bring this to my attention). it solves several issues documentation and test driven development face (if your honest). And I don't think it eats up any exra time. Maybe at the beginning a bit but it pays of hugely.

the basic ideas are 2:

1. write docs before the tests, than the code. this way you refelct more and hav your docs always complete, up to date and ready to ship.

2. rewriting docs is part of every refactoring

i think we should write a clean perl book. just for the fun of the title. i really lough at the less upright from c't magazine that apologize at the beginning of a perl tutorial that it isn't hip.

in other news: my tutorial lerning programming with perl is still in the making and needs evey (German) hand it gets.

Announcing Alien::GSL 0.03_04 plus some Module::Build questions

Hello everyone,

This note is to announce that Alien::GSL dev release 0.03_04 has be uploaded to CPAN and should be available shortly.

After lots of good feedback from Rob (Sisyphus) and learning lots about the warts in Module::Build, I think I have a more robust system in place now.

New features include:

  • smarter warnings for missing configure_requires dependencies
  • parse gsl.pc to get up-to-date compiler flag, no longer depends on hard coding things like -lgsl
  • rewrite gsl.pc before installing to provide correct paths relative to share_dir location
  • new gsl_pkgconfig_location function provides the path to the folder containing the rewritten gsl.pc file
  • includes which should behave like gsl-config but relies on Alien::GSL and its notion of the GSL libraries (this still considered work-in-progess)
  • more tests!! (required adding the ability to hook into $Alien::GSL::share_dir, since tests happen before install, and thus before placement into the location that File::ShareDir expects)

Some notes on Module::Build:

RIP John McCarthy

What a sad month.

I often forget how young the field of computing is. Computers are everywhere and it is difficult to imagine a world without them.

Computers, embedded in robotic machinery or general are so darn useful.

X They replace the calendar with a more lively one.
X They help you communicate and make new friends.
X They take down all your notes.
X They help the shopkeeper with his inventory.
X They help the doctors, take readings of the patient.
X They help a startup visualize latest trends.
X They assemble metal things with perfect accuracy to create a Ferrari.
X They help the musicians with their beats.
X They help the painter undo.
X They preserve history.
X They help the architect.
X They book your flights.
X They track your packages.
X They bring limitless information and possibilities to the bedside of every dreamer.
X They helped the thief's in ocean's 11.

What follows is an incoherent babble.

How do newbies find Perl learning materials online?

This is a very short entry, which will lead to a long one later. Right now in light of the recent hubbub about the study claiming that perl's as good as a randomized language for newbies, i am trying to find out just how a newbie searches for Perl learning materials online and what he finds first.

Right now i'm concentrating on what kind of search term a newbie would enter in Google. Luckily Google trends help a bit there, allowing me to compare between various search terms.

These are the search terms i came up with or was suggested:

perl tutorial 1.00    perl cgi 0.79    programming perl 0.45    perl examples 0.37    perl learn 0.10


Please help me and see if you can think of any other search terms that would be more often used than "perl tutorial". Thanks in advance.

I need pack examples for the Camel

I'm working on the pack section in Programming Perl and learning about all the templates things that I've never used.

Does anyone have examples (or know where some are) that use:

  • @ with a repeat count
  • . with a repeat count
  • ( with a repeat count

Also, which modules make extensive use of pack? I used to in my Mac::iTunes (now outdated) module, but I was going very rudimentary things that I now see I could have done much better with other pack features.

Google Code Search for "pack(" turns up a lot of everyone's favorite CGI parameter undo-er, many Perl/Tk things, and lots of simple templates for pack. I want to see the really knarly and mind bending ones. Send me a good one that we put in the book, and I'll send you the book for free.

DBD::SQLite 1.35 release planned for 22nd of November

It's been a fairly quiet year for DBD::SQLite, but largely in a positive sense.

The release rate and delta of SQLite itself has been fairly tame, and in Perl land we've seen a significant reduction in the severity of bugs compared to 2010.

Because of the significance of DBD::SQLite and the need for extended testing periods, it has been my policy to allow smaller fixes to accumulate without doing a release and to release DBD::SQLite in line with SQLite releases that recommend upgrading.

The recent 3.7.8 release of SQLite does not come with an upgrade recommendation for our current SQLite version, but does suggest upgrading as optional. This release contains some significant index performance improvements (described as "orders of magnitude faster") for large CREATE INDEX commands, and DISTINCT, ORDER BY and GROUP BY
statements are now faster in all cases.

The 3.7.8 release also contains some changes to make SQLite play nicer with Windows anti-virus programs.

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 run by Dave Cross and Aaron Crane, with a design donated by Six Apart, Ltd.