Testing Perl 5.12.0 RC 1 with App::perlbrew
I’m working on a project with Curtis “Ovid” Poe and Adrian Howard. We use Perl 5.10.1, but because we control which version of Perl 5 we use, there’s no reason not to test with Perl 5.12.0 - and if we…
I’m working on a project with Curtis “Ovid” Poe and Adrian Howard. We use Perl 5.10.1, but because we control which version of Perl 5 we use, there’s no reason not to test with Perl 5.12.0 - and if we…
Suppose that you want to load a module dynamically (you have the name in a scalar), then alias a function from that module to a new name in another class. In other words, you want a renaming import. How do…
Any language—programming or natural—develops idioms, or common patterns of expression. The earth revolves, but we speak of the sun rising or setting. We talk of clever hacks and nasty hacks and slinging code. We ping each other on IRC to…
Every software distribution is a bunch of files written and maintained by programmers. The files are of three types: code, documentation, and crap—though this distinction is too subtle. Much of the documentation and code is crap, too. It’s pointless. It’s…
A Beginner’s Introduction to Perl 5.10 talked about the core elements of Perl: variables (scalars, arrays, and hashes), math operators and some basic flow control (the for statement). Now it’s time to interact with the world. (A Beginner’s Introduction…
First, a Little Sales Pitch Editor’s note: this series is based on Doug Sheppard’s Beginner’s Introduction to Perl. A Beginner’s Introduction to Files and Strings with Perl 5.10 explains how to use files and strings, and A Beginner’s Introduction to…
Data management is a critical and challenging aspect for any online resource. With exponentially growing data sizes and popularity of rich media, even small online resources must effectively manage and distribute a significant amount of data. Moreover, the peace…
Programmers have long recognized that separating code logic from presentation is good. The Perl community has produced many fine systems for doing just this. While there are many systems, they largely fall within two execution models, pipeline and callback…
Why Gates? In a perfect world we wouldn’t do things we should not. However the world is not like this; people do forbidden things sometimes. This also applies to computer systems used by more than one person. Almost everyone…
brian d foy is the author of Mastering Perl, now available in its second edition, as well as several other Perl books. As the founder of Perl mongers, he’s been active in the Perl community for almost 20 years. Ever…
For Perl’s 20th anniversary, several Perl programmers reflect on their experiences with the language.
I think, to most people, scripting is a lot like obscenity. I can’t define it, but I’ll know it when I see it. Here are some common memes floating around: Simple language “Everything is a string” Rapid prototyping Glue…
Adobe’s PDF has become a standard for text documents. Most office products can export their content into PDF. However, this software reaches its limits if you want advanced tasks such as combining different PDF documents into one single document…
Perl software development can occur at several levels. When first developing the idea for an application, a Perl developer may start with a short program to flesh out the necessary algorithms. After that, the next step might be to…
When you first fire up your editor and start writing a program, it’s tempting to hardcode any settings or configuration so you can focus on the real task of getting the thing working. But as soon as you have…
Larry Wall said that Perl makes easy things easy and hard things possible. Perl is good both for writing a two-line script that saves the world at the last minute (well, at least it saves you and your project)…
Perl 6 will soon be here. How will programming in Perl 6 be different from programming in Perl 5 for your average Perl programmer? The answer is: very different yet very much the same. A Perl 6 program viewed…
by Mike Friedman Good software design principles tell us that we should work to separate unrelated concerns. For example, the popular Model-View-Controller (MVC) pattern is common in web application designs. In MVC, separate modular components form a model, which…
Perl 6 is not finished, but you can already play with it. I hope this article will encourage you to try it. Begin by installing Pugs, a Perl 6 compiler implemented in Haskell. Note that you will also need…
My previous article, looked at extending HTML::Template through custom tags and filters. This article looks at ways to manage large, more complex pages, by bundling HTML::Template into something like GUI “widgets” (or “controls”). Imagine you have a basic page…