Article Archive
A listing of all Perl.com articles grouped by topic. Also, see the listing of all Perl.com articles sorted by date.Advocacy
Memories of 20 Years of Perl
The Perl community just celebrated the 20th anniversary of Perl. Here are some stories from Perl hackers around the world about problems they've solved and memories they've made with the venerable, powerful, and still vital language. [Dec 21, 2007]
The State of the Onion 10
In Larry Wall's tenth annual State of the Onion address, he talks about raising children and programming languages and balancing competing tensions and irreconcilable desires. [Sep 21, 2006]
The State of the Onion 9
In Larry Wall's ninth annual State of the Onion address, he explains Perl 6's Five Year Plan, how Perl programmers are like spies (or vice versa), and how open source can learn from the intelligence community. [Sep 22, 2005]
People Behind Perl: brian d foy
brian d foy is a long-time Perl hacker and leader, having founded the Perl Mongers, written and helped to write many useful CPAN modules, and recently founding, publishing, and editing The Perl Review. Perl.com recently interviewed brian about his work, history, and future plans. [Apr 28, 2005]
The Evolution of ePayment Services at UB
Perl is often a workhorse behind the scenes, content to do its job quietly and without fuss. When the University of New York at Buffalo needed to offer electronic payment services to students, the Department of Computing Services reached for Perl. Jim Brandt describes how Perl (and a little Inline::Java) helped them build just enough code to allow students to pay their bills online. [Dec 9, 2004]
Giving Lightning Talks
It's conference season, and there's still a chance to sign up for lightning talks. Until now, there were no written rules for giving lighting talks. Mark Fowler explains. [Jul 30, 2004]
How Perl Powers Christmas
We've had some fantastic Perl Success Stories in the past, but this one tops them all: How Perl is used in the distribution of millions of Christmas presents every year. [Dec 18, 2002]
Why I Hate Advocacy
Are you an effective Perl advocate? Mark Dominus explains why you might be advocating Perl the wrong way. [Dec 12, 2000]
Ten Perl Myths
Ten things that people like to say about Perl that aren't true. [Feb 23, 2000]
Sins of Perl Revisited
Tom Christiansen published the original seven sins in 1996. Where are we now? [Nov 30, 1999]
White Camel Awards to be Presented at O'Reilly's Perl Conference 3.0
The White Camel awards will be presented to individuals who have made outstanding contributions to Perl Advocacy, Perl User Groups, and the Perl Community at O'Reilly's Perl onference 3.0 on August 24, 1999. [Jun 28, 1999]
Binaries
Perl Success Story: Client-Side Collection and Reporting
Perl's a great server-side programming language. It's also good for developers and administrators. Where are the client-side uses? Recently, Jiann Wang and Hitachi GST had to solve a thorny software licensing reporting problem. They used Perl--distributing a small client program to each desktop--and solved their problem quickly, effectively, and elegantly. Here's how. [Dec 1, 2005]
Biology
Data Munging for Non-Programming Biologists
Scientists often have plenty of data to munge. Non-programmer scientists often have to beg their coders for help or get by doing it themselves. Amir Karger and his colleagues had a different idea. Why not provide them with short, interchangeable Perl recipes to solve small pieces of larger problems? Here's how they built the Scriptome. [Oct 20, 2005]
A Chromosome at a Time with Perl, Part 1
If you're a Perl programmer working in the field of bioinformatics, James Tisdall offers a handful of tricks that will enable you to write code for dealing with large amounts of biological sequence data--in this case, very long strings--while still getting satisfactory speed from the program. James is the author of O'Reilly's upcoming Mastering Perl for Bioinformatics. [Sep 11, 2003]
Beginning Bioinformatics
James Tisdall's new book is great for biochemists eager to get into the bioinformatics world, but what about us Perl programmers? In this article, we turn the tables, and ask what your average Perl programmer needs to know to get into this exciting new growth area. [Jan 2, 2002]
Books and Magazines
Genomic Perl
After James Tisdall's "Beginning Perl for Bioinformaticists", has Rex Dwyer come up with a "Beginning Bioinformatics for Perl Programmers"? Simon Cozens reviews "Genomic Perl", with some anticipation... [Feb 27, 2003]
Embedding Perl in HTML with Mason
HTML::Mason is my favourite toolkit for building pages out of Perl-based components: can Dave Rolsky and Ken Williams do it justice in their new book? I take a look at "Embedding Perl in HTML with Mason" and find it a mixed bag... [Jan 30, 2003]
Writing Perl Modules for CPAN
For many years, the Perl community has extolled the virtues of CPAN and re-usable, modular code. But why hasn't there been anything substantial written on how to achieve it? Sam Tregar redresses the balance, and this month's book review looks at how he got on. [Nov 6, 2002]
Writing CGI Applications with Perl
There are roughly four bazillion books on Perl and CGI available at the moment; one of the most recent is Brent Michalski and Kevin Meltzer's Writing CGI Applications with Perl. Kevin and Brent are long-standing members of the Perl community - can they do justice to this troublesome topic? Find out in this month's book review! [Sep 10, 2002]
Graphics Programming with Perl
Martien Verbuggen has produced a fine book on all elements of handling and creating graphics with Perl - we cast a critical eye over it. [Jul 23, 2002]
mod_perl Developer's Cookbook
Geoffrey Young, Paul Lindner and Randy Kobes have produced a new book on mod_perl which claims to teach "tricks, solutions and mod_perl idioms" - how well does it live up to this promise? [Apr 25, 2002]
Choosing a Perl Book
What to look for when choosing from the many Perl books on the market. [Jul 11, 2000]
Bug Tracking/Reporting
An Introduction to Quality Assurance
The libraries and syntax for automated testing are easy to find. The mindset of quality and testability is harder to adopt. Tom McTighe reviews the basic principles of quality assurance that can make the difference between a "working" application and a high-quality application. [Jan 13, 2005]
Business
Perl Success Story: Client-Side Collection and Reporting
Perl's a great server-side programming language. It's also good for developers and administrators. Where are the client-side uses? Recently, Jiann Wang and Hitachi GST had to solve a thorny software licensing reporting problem. They used Perl--distributing a small client program to each desktop--and solved their problem quickly, effectively, and elegantly. Here's how. [Dec 1, 2005]
How Perl Powers the Squeezebox
The Squeezebox is a hardware-based ethernet and wireless MP3 player from Slim Devices; its server is completely written in Perl, and is open and hackable. We talked to the Squeezebox developers about Perl, open source, and third-party Squeezebox hacking. [Dec 5, 2003]
Radiator
Are you fed up with those who think that commercial applications need to be written in an "enterprise" language like Java or C++? So are we, so we spoke to Mike McCauley at Open System Consultants. [Oct 15, 2002]
The e-smith Server and Gateway: a Perl Case Study
Kirrily "Skud" Robert explains the Perl behind the web-based administrator for the e-smith server. [Feb 20, 2001]
Perl Rescues a Major Corporation
How the author used Perl to create a document management system for a major aerospace corporation and saved the day. [Oct 21, 1998]
How Perl Creates Orders For The Air Force
Brent Michalski, while in the Air Force, created a Web-based system written in Perl to simplify the process of ordering new hardware and software. [Jul 22, 1998]
C and Perl
Lightning Strikes Four Times
Perl lightning articles offer short takes on important subjects. See how Perl can outperform C for 3D programming, how (and why) to express cross-cutting concerns in your programs, and one way of keeping your test counts up-to-date. [Apr 12, 2007]
Why Not Translate Perl to C?
Mark-Jason Dominus explains why it might not be any faster to convert your code to a C program rather than let the Perl interpreter execute it. [Jun 27, 2001]
Pathologically Polluting Perl
Brian Ingerson introduces Inline.pm and CPR; with them you can embed C inside Perl and turn C into a scripting language. [Feb 6, 2001]
Success in Migrating from C to Perl
How one company migrated from using C to Perl -- and in doing so was able to improve their approach to code design, maintenance and documentation. [Jan 19, 1999]
CGI
CGI::Kwiki
Brian Ingerson's latest Perl module is a new modular implementation of the wiki, a world-editable web site. [May 13, 2003]
Finding CGI Scripts
Dave Cross explains what to watch out for when choosing CGI scripts to run on your server, and announces a new best-of-breed project for CGI scripting. [Jan 23, 2002]
Using CGI::Application
The Common Gateway Interface may well be the backbone of many web applications, but sometimes it can feel dry and monotonous to work with. If you're fed up with"my $query = CGI->new()"
, Jesse Erlbaum presents a kinder, gentler alternative. [Jun 5, 2001]
Perl and CGI FAQ
This FAQ answers questions for Web developers. [Apr 14, 1999]
Communications
Throwing Shapes
Sometimes data processing works best when you separate the application into multiple parts; this is the well-loved client-server model. What goes on between the parts, though? Vladi Belperchinov-Shabanski walks through the design and implementation of a Remote Procedure Call system in Perl. [Feb 3, 2005]
Using Perl to Enable the Disabled
Some people use Perl to help with data munging, database hacking, and scripting menial tasks. Jouke Visser uses Perl to communicate with his disabled daughter. Here he explains what his pVoice software is and how it works. [Aug 23, 2003]
Community
Inside YAPC::NA 2005
One of the success stories of the Perl community is the series of self-organized Yet Another Perl Conferences. This year's North American YAPC is in Toronto in late June. chromatic recently interviewed Richard Dice, the man behind YAPC::NA 2005 to discuss how to put together a conference and what to expect from the conference and its attendant extracurricular activities in lovely Toronto. [May 12, 2005]
A Plan for Pugs
Want to write actual working Perl 6 code? A month ago, it would have been difficult. What a difference February made. Autrijus Tang and a loyal cadre of Perl and Haskell people have developed an amazingly complete Perl 6 implementation in a few short weeks. chromatic recently caught up with Autrijus on #perl6 to learn more about the project. [Mar 3, 2005]
The Phalanx Project
One ancient Greek military invention was the phalanx, a group of soldiers with overlapping shields each protecting each other. In the Perl world, the Phalanx project intends to improve the quality of Perl 5, Ponie, and the top CPAN modules. Project founder Andy Lester describes the goals and ambitions. [Jan 20, 2005]
The State of the Onion
Larry Wall's eighth annual State of the Onion address from OSCON 2004 related screensavers to surgery to Perl and the community. [Aug 19, 2004]
Giving Lightning Talks
It's conference season, and there's still a chance to sign up for lightning talks. Until now, there were no written rules for giving lighting talks. Mark Fowler explains. [Jul 30, 2004]
Return of Quiz of the Week
Mark-Jason Dominus's quiz of the week mailing list is back, and we bring you the questions and solutions for the past week's quizzes. [May 28, 2004]
An Interview with Allison Randal
Allison is President of the Perl Foundation, and project manager for Perl 6. What does that actually mean? We caught up with her to talk about the Foundation, YAPC, and the Perl 6 effort. [May 21, 2004]
The State of Perl
A new year is a good time to take a look at the state Perl's in: its weaknesses, strengths, and future directions. Adam Turoff takes a long look at where Perl's going and why, and finds that Perl 6 doesn't have to be the last, great hope. [Jan 9, 2004]
Open Guides
Kake Pugh describes how Perl can help you find good beer in London, and many other places, with the OpenGuides collaborative city guides. [Oct 31, 2003]
2003 Perl Conferences
There are a plethora of Perl conferences on this year; which of them should you go to? I survey the conference scene and make a few recommendations about talks you might want to try and get to see. [May 6, 2003]
This Week on p5p 2001/10/21
What's left before 5.8.0, the POD specification, test-fu and more. [Oct 21, 2001]
This Week on p5p 2001/10/07
Code cleanups, attributes, tests from chromatic, and more... [Oct 10, 2001]
This Week on p5p 2001/09/03
Michael Schwern, Coderefs in @INC (again), localising things, and more... [Sep 3, 2001]
This Week on p5p 2001/08/27
vstrings, callbacks, coderefs in @INC, and more... [Aug 27, 2001]
This Week on p5p 2001/08/15
POD specification, Unicode work, threading and more! [Aug 15, 2001]
Yet Another Perl Conference Europe 2001
A review of this year's YAPC::Europe in Amsterdam. [Aug 13, 2001]
This Week on p5p 2001/08/07
Subroutine Prototypes, the Great SDK Debate, and much more! [Aug 8, 2001]
People Behind Perl : Artur Bergman
We continue our series on the People Behind Perl with an interview with Artur Bergman, the driving force behind much of the work on Perl's new threading model. While the model was created by Gurusamy Sarathy, Artur's really spent a lot of good time and effort making iThreads usable to the ordinary Perl programmer. Artur tells us about what got him into Perl development, and what he's doing with threads right now. [Aug 1, 2001]
This Week on p5p 2001/07/30
Hash "clamping", a meeting of the perl-5 porters at TPC, and more! [Aug 1, 2001]
This Week on p5p 2001/07/16
5.7.2 is out, some threading fixes, and much more. [Jul 16, 2001]
This Week on p5p 2001/07/09
No 5.8.0 yet, numeric hackery, worries about PerlIO and much more. [Jul 9, 2001]
People Behind Perl: Nathan Torkington
So you use Perl, and you probably know that it was brought to you by "Larry Wall and a cast of thousands". But do you know these people that make up the Perl development team? Simon Cozens talks to Nathan Torkington, a long-time Perl developer and a mainstay of the Perl community. [Jul 3, 2001]
This Week on p5p 2001/07/02
Module versioning and testing, regex capture-to-variable, and much more. [Jul 2, 2001]
This Week on p5p 2001/06/25
5.7.2 in sight, some threads on regular expression, and much more. [Jun 25, 2001]
Yet Another YAPC Report: Montreal
Schuyler Erle gives a detailed report of all the exciting events at this year's Yet Another Perl Conference in Montreal. By his account, it appears to be an exciting time to be involved with the development of Perl. [Jun 21, 2001]
This Week on p5p 2001/06/17
Miscellaneous Darwin Updates, hash accessor macros, and much more. [Jun 19, 2001]
Privacy Policy
The O'Reilly and Perl.com privacy policy [Jun 15, 2001]
The Beginner's Attitude of Perl: What Attitude?
Robert Kiesling says that the Perl Community's attitude towards new users is common fare for Internet development and compared to other lists Perl is downright civil. [Jun 12, 2001]
This Week on p5p 2001/06/09
Removing dependence on strtol, regex negation, and much more. [Jun 12, 2001]
About perl.com
[Jun 7, 2001]
Turning the Tides on Perl's Attitude Toward Beginners
Casey West is taking a stand against elitism in the Perl community and seems to be making progress. He has launched several new services for the Perl beginner that are being enthusiastically received. [May 28, 2001]
Hold the Sackcloth and Ashes
Jarkko Hietaniemi, the Perl release manager, responds to the critique of the Perl 6 RFC process. [Nov 3, 2000]
Critique of the Perl 6 RFC Process
Many of the suggestions put forward during the Perl 6 request-for-comment period revealed a lack of understanding of the internals and limitations of the language. Mark-Jason Dominus offers these criticisms in hopes that future RFCs may avoid the same mistakes -- and the wasted effort. [Oct 31, 2000]
Last Chance to Support Damian Conway
As reported earlier, the Yet Another Society (YAS) is putting together a grant to Monash University, Australia. The grant will fund Damian Conway's full-time work on Perl for a year. But the deadline for pledges is the end of the week, and the fund is still short. [Oct 26, 2000]
Report from YAPC::Europe
Mark Summerfield tells us what he saw at YAPC::Europe in London last weekend. [Oct 2, 2000]
Ilya Regularly Expresses
Ilya Zakharevich, a major contributor to Perl 5, talks about Perl 6 effort, why he thinks that Perl is not well-suited for text manipulation, and what changes would make it better; whether the Russian education system is effective; and whether Perl 6 is a good idea. [Sep 20, 2000]
Damian Conway Talks Shop
The author of Object-Oriented Perl talks about the Dark Art of programming, motivations for taking on projects, and the "deification" of technology. [Aug 21, 2000]
Report from the Perl Conference
One conference-goer shares with us his thoughts, experiences and impressions of TPC4. [Aug 21, 2000]
Reports from YAPC 19100
Eleven attendees of Yet Another Perl Conference write in about their experiences in Pittsburgh last month. [Jul 11, 2000]
Adventures on Perl Whirl 2000
Adam Turoff's report on last week's Perl Whirl cruise to Alaska [Jun 13, 2000]
ANSI Standard Perl?
Standardized Perl? Larry Rosler, who put the ANSI in ANSI C, shares his thoughts on how Perl could benefit from standards in this interview with Joe Johnston. [Jun 6, 2000]
Virtual Presentations with Perl
This year, the Philadelphia Perl Mongers had joint remote meetings with Boston.pm and St. Louis.pm using teleconferencing equipment to bring a guest speaker to many places at once. Adam Turoff describes what worked and what didn't, and how you can use this in your own PM groups. [Dec 20, 1999]
Happy Birthday Perl!
According to the perlhist man page, Perl was first released twelve years ago, on December 18, 1987. Congratulations to Larry Wall on the occasion of Perl's twelfth birthday! [Dec 18, 1999]
Perl as a First Language
Simon Cozens, author of the upcoming Beginning Perl talks about Perl as a language for beginning programmers. [Nov 16, 1999]
White Camel Awards
An interview with White Camel Award winners Kevin Lenzo and Adam Turoff. [Sep 16, 1999]
A New Edition of www.perl.com
Welcome to the new edition of www.perl.com! We've redesigned the site to make it easier for you to find the information you're looking for. [Jul 15, 1999]
Dispatch from YAPC
Brent was at YAPC -- were you? He reports from this "alternative" Perl conference. [Jun 30, 1999]
What the Heck is a Perl Monger?!
Want to start or find a Perl user group in your area? Brent interviews brian d foy, the creator of Perl Mongers to find out just what the Mongers are all about. [Jan 13, 1999]
A Photographic Journal
Photographs taken at the Perl Conference by Joseph F. Ryan: Perl Programmer at the National Human Genome Research Institute. [Aug 27, 1998]
The Final Day at The Perl Conference
Brent Michalski winds down his coverage of the Perl Conference. Highlights include: Tom Paquin's Keynote: "Free Software Goes Mainstream" and Tom Christiansen's "Perl Style". [Aug 21, 1998]
Day 3: Core Perl Developers at Work and Play
Recapping Larry Wall's Keynote, The OO Debate, The Internet Quiz Show, The Perl Institue and The Perl Night Life. [Aug 20, 1998]
Day 2: Perl Mongers at The Conference
Another exciting day! Brent talks about the Advanced Perl Fundamentals tutorial, the concept behind the Perl Mongers and the Fireside Chat with Jon Orwant. [Aug 19, 1998]
Day 1 Highlights: Lincoln's Cool Tricks and Regexp
Brent Michalski reports on the highlights of the first day of The Perl Conference. [Aug 18, 1998]
Perl Conference 3.0 -- The Call for Participation
This is a call for papers that demonstrate the incredible diversity of Perl. Selected papers will be presented at the third annual O'Reilly Perl Conference on August 21-24, 1999 at the Doubletree Hotel and Monterey Conference Center in Monterey California. [Aug 17, 1998]
Compiler
A Plan for Pugs
Want to write actual working Perl 6 code? A month ago, it would have been difficult. What a difference February made. Autrijus Tang and a loyal cadre of Perl and Haskell people have developed an amazingly complete Perl 6 implementation in a few short weeks. chromatic recently caught up with Autrijus on #perl6 to learn more about the project. [Mar 3, 2005]
Core Documentation
The Artistic License
This document states the conditions under which a Package may be copied, such that the Copyright Holder maintains some semblance of artistic control over the development of the package [Aug 15, 1997]
Courses and Training
How to Tell Your Perl Story (at OSCON)
Have you done something stunningly cool or staggeringly useful with Perl in the past year? Conference season will be here soon; it's time to consider giving a talk to your local monger group, a regional conference, or even OSCON. Perl track committee member brian d foy gives several guidelines to help you decide what to talk about and how to present it. [Jan 18, 2008]
CPAN
PDF Processing with Perl
Adobe's PDF is a well-established format for transferring pixel-perfect documents. It's not nearly as malleable as plain text, but several CPAN modules make creating, manipulating, and reusing PDFs much easier. Detlef Groth demonstrates how to use PDF::Reuse. [Sep 21, 2007]
Making Perl Reusable with Modules
Perl programs are easy to write, especially if they solve simple problems. If you find yourself re-using the same programs (or worse, the same code), it's time to bundle your code into pieces easier to reuse. It's time to turn programs into modules. Andy Sylvester walks through the three steps of making a simple, standalone Perl program into a robust, tested, distributable, and reusable piece of code. [Aug 7, 2007]
Option and Configuration Processing Made Easy
Many useful programs take arguments and configuration options. It's easy to add one or two, but as your program grows, the difficulty of allowing configuration concisely and intelligently also grows. Jon Allen demonstrates how to unify argument and configuration processing in a way that lets you write good code and your users get on with their work. [Jul 12, 2007]
Better Code Through Destruction
Perl 5's reference counting scheme almost always keeps memory usage predictable...except for one corner case. The Resource Acquisition Is Initialization strategy helps avoid memory leaks--and can improve your use of exceptions, alarms, other resources, and even transactional systems. Igor Gariev demonstrates. [Jun 7, 2007]
Lightning Strikes Four Times
Perl lightning articles offer short takes on important subjects. See how Perl can outperform C for 3D programming, how (and why) to express cross-cutting concerns in your programs, and one way of keeping your test counts up-to-date. [Apr 12, 2007]
Still More Perl Lightning Articles
Perl lightning articles are short, direct, and full of electrifying practical information. This time, Steven Philip Schubiger demonstrates how to convert crufty MakeMaker installation scripts into shiny pure-Perl installers, Phil Crow demonstrates the use of Java's powerful Swing UI toolkit from Perl, Joshua McAdams explains how to turn any module into a script, and chromatic removes duplication from test suites. [Jul 13, 2006]
Managing Rich Data Structures
Perl is so good at handling plain text files that it's seductively easy to use them when you need something better. Yet sometimes using a full-fledged database is just Too Much Work. If only Dave Baker had written an article on using complex, persistent data structures with MLDBM. [Feb 16, 2006]
Annotating CPAN
Perl has voluminous documentation, both in the core distribution and in thousands of CPAN modules. That doesn't make it all perfect, though, and the amount of documentation can make it daunting to find and recommend changes or clarifications. The Perl Foundation recently sponsored Ivan Tubert-Brohman to fix this; here's how he built AnnoCPAN, an annotation service for module documentation. [Jun 30, 2005]
Building Good CPAN Modules
Your code is amazing. It works exactly as you intended. You've decided to give back, to share it with the world by uploading it to the CPAN. Before you do, though, there are a few fiddly details about cross-platform and cross-version compatibility to keep in mind. Rob Kinyon gives several guidelines about writing CPAN modules that will work everywhere they will be useful. [Apr 14, 2005]
The Phalanx Project
One ancient Greek military invention was the phalanx, a group of soldiers with overlapping shields each protecting each other. In the Perl world, the Phalanx project intends to improve the quality of Perl 5, Ponie, and the top CPAN modules. Project founder Andy Lester describes the goals and ambitions. [Jan 20, 2005]
Building a Finite State Machine Using DFA::Simple
A finite state machine (FSM) is a general-purpose mechanism for solving common programming problems that involve performing actions based on previous and current input. (They're good for parsers and the like.) William Ruppert demonstrates how to build and use FSMs in Perl. [Sep 23, 2004]
The Many Dates and Times of Perl
There are a huge number of date and time handling modules on the CPAN; how do you know which ones are any good? Dave Rolsky, one of the men behind the datetime mailing list takes you on a tour. [Mar 13, 2003]
Becoming a CPAN Tester with CPANPLUS
A few weeks ago, Jos Broumans introduced CPANPLUS, his replacement for the CPAN module. In the time since then, development has continued apace, and today's release includes support for automatically testing and reporting bugs in CPAN modules. Autrijus Tang explains how it all works. [Apr 30, 2002]
CPAN PLUS
For many years the CPAN.pm module has helped people install Perl modules. But it's also been clunky, fragile and amazingly difficult to use programmatically. Jos Boumans introduces CPANPLUS, his project to change all that. [Mar 26, 2002]
The Lighter Side of CPAN
Alex Gough takes us on a whirlwind tour around the more esoteric and entertaining areas of the Comprehensive Perl Archive Network, and makes some serious points about Perl programming at the same time. [Oct 31, 2001]
Common Questions About CPAN
Answers to the most common questions asked from cpan@perl.org [Jul 29, 1999]
Data Structures
Managing Rich Data Structures
Perl is so good at handling plain text files that it's seductively easy to use them when you need something better. Yet sometimes using a full-fledged database is just Too Much Work. If only Dave Baker had written an article on using complex, persistent data structures with MLDBM. [Feb 16, 2006]
Understanding and Using Iterators
Unlike some other programming languages, Perl makes it easy to process lists of items. Lists and arrays aren't always suitable for every task, though; sometimes you need something more powerful. Sometimes you need an iterator. Joshua Gatcomb explains where iterators are useful and how to use them. [Jun 16, 2005]
Symbol Table Manipulation
One of the most dramatic advantages of dynamic languages is that they provide access to the symbol table at run-time, allowing new functions and variables to spring into existence as you need them. Though they're not always the right solution to common problems, they're very powerful and useful in certain circumstances. Phil Crow demonstrates how and when and why to manipulate Perl's symbol table. [Mar 17, 2005]
Using Bloom Filters
Perl hashes make set membership easy at the cost of memory usage. A lesser-known technique, Bloom filters, trades a tunable false-positive rate for compactness -- and has interesting applications for privacy concerns. Maciej Ceglowski explains the theory and practice of Bloom filters. [Apr 8, 2004]
Changing Hash Behaviour withtie
Hashes are one of the most useful data structures Perl provides, but did you know you can make them even more useful by changing the way they work? Dave Cross shows us how it's done [Sep 4, 2001]
Databases
An Introduction to Test::MockDBI
It is a sweet and fitting thing to test your code, but if you're working with non-Perl, you'll likely run into difficult situations. For example, how do you force a database connection failure to test that you can recover? Mark Leighton Fisher has an answer: mock up the database. He explains the design, goals, and use of Test::MockDBI. [Jul 21, 2005]
Massive Data Aggregation with Perl
What do you do if you have a huge array of disparate data sources from which to collect and present data in multiple formats? First, reach for Perl. Then...good question. Fred Moyer explains how his team designed and built a system to aggregate and present huge amounts of data with Perl. [May 5, 2005]
More Lightning Articles
Yes, it's the return of Perl Lightning Articles -- short discussions of Perl and programming. This time, learn about Emacs customization with Perl, debugging without adding print statements, testing database-heavy code, and why unbuffering may be a mistake. [Mar 31, 2005]
Perl Code Kata: Testing Databases
Testing simple code is all well and good, but what happens when your real code has to work with external programs, such as databases? How do you test your code adequately without going crazy writing scaffolding that has no chance of working anywhere but your test box? Stevan Little suggests that DBD::Mock can round out your test toolbox nicely in this Perl Test Kata. [Feb 10, 2005]
Embedded Databases
Every serious program needs data, but not every serious program needs a full-blown relational database server backend. You're not stuck to reading, parsing, and writing flat-files forever, though. Phillip Janert explores three types of embedded databases that are easy to install, use, and distribute. [Sep 16, 2004]
Database Programming with Perl
Simon Cozens introduces the DBI module, the standard way for Perl to talk to relational databases. [Oct 23, 2003]
Adding Search Functionality to Perl Applications
Do you write applications that deal with large quantities of data -- and then find you don't know the best way to bring back the information you want? Aaron Trevena describes some simple, but powerful, ways to search your data with reverse indexes. [Sep 25, 2003]
Class::DBI
Tony Bowden introduces a brilliantly simple way to interface to a relational database using Perl classes and the Class::DBI module [Nov 27, 2002]
DBI is OK
chromatic makes a case for using DBI and shows how it works well in the same situations as DBIx::Recordset. [Mar 20, 2001]
DBIx::Recordset VS DBI
Terrance Brannon explains why DBI is the standard database interface for Perl but should not be the interface for most Perl applications requiring database functionality. [Feb 27, 2001]
A Short Guide to DBI
Here's how to get started using SQL and SQL-driven databases from Perl. [Oct 22, 1999]
Debugging
Unraveling Code with the Debugger
Reading other people's code can be difficult, especially if you have no idea what happens when and where. Understanding code flow is vital to maintenance and bug fixes, but littering code with print and debugging statements is tedious and prone to error. There's another way: use the debugger! Daniel Allen demonstrates how to pinpoint a problem with Perl's debugger. [Apr 6, 2006]
More Lightning Articles
Yes, it's the return of Perl Lightning Articles -- short discussions of Perl and programming. This time, learn about Emacs customization with Perl, debugging without adding print statements, testing database-heavy code, and why unbuffering may be a mistake. [Mar 31, 2005]
An Introduction to Quality Assurance
The libraries and syntax for automated testing are easy to find. The mindset of quality and testability is harder to adopt. Tom McTighe reviews the basic principles of quality assurance that can make the difference between a "working" application and a high-quality application. [Jan 13, 2005]
Perl Debugger Quick Reference
Perl's debugger is both powerful and somewhat esoteric. This printable excerpt from Richard Foley's Perl Debugger Pocket Reference can help take some of the mystery out of the common commands and put more advanced features within your reach. [Nov 24, 2004]
Retire your debugger, log smartly with Log::Log4perl!
Michael Schilli describes a new way of adding logging facilities to your code, with the help of the log4perl module - a port of Java's log4j. [Sep 11, 2002]
Documentation
POD is not Literate Programming
[Mar 20, 2000]
Dynamic Content
Document Modeling with Bricolage
Any document-processing application needs to make a model of the documents it expects to process. This can be a time-consuming and error-prone task, especially if you've never done it before. David Wheeler of the Bricolage project shows how to analyze and model documents for his publishing system. Perhaps it can help you. [Nov 23, 2005]
Building Navigation Menus
Well-designed websites are easy to navigate, with sensible menus, breadcrumb trails, and the information you need within three clicks of where you are. Rather than tediously coding navigation structures by hand, why not consider using a Perl module to generate them for you? Shlomi Fish shows how to use his HTML::Widgets::NavMenu module. [Jul 7, 2005]
Catalyst
MVC frameworks are hot again in the web development world. Perl has a rich array of choices. One new contender is Catalyst, an elegant platform for database-backed applications. Developers Jesse Sheidlower and Sebastian Riedel explain the design goals and build an Ajax-powered wiki in 30 lines of code. [Jun 2, 2005]
Editors
Perl Needs Better Tools
Perl is a fantastic language for getting your work done. It's flexible, forgiving, malleable, and dynamic. Why shouldn't it have good, powerful tools? Are Perl development tools behind those of other, perhaps less-capable languages? J. Matisse Enzer argues that Perl needs better tools, and explains what those tools should do. [Aug 25, 2005]
Independently Parsing Perl
Stodgy, boring languages have great editors. What's keeping Perl from refactoring support, perfect syntax highlighting, and other advanced transformation techniques? It's really difficult to parse Perl. Fortunately, Adam Kennedy's PPI project provides a standalone Perl parser that operates correctly on all but 28 of the 38,000 CPAN modules. Here's how it works and what you can do with it. [Jun 9, 2005]
More Lightning Articles
Yes, it's the return of Perl Lightning Articles -- short discussions of Perl and programming. This time, learn about Emacs customization with Perl, debugging without adding print statements, testing database-heavy code, and why unbuffering may be a mistake. [Mar 31, 2005]
Komodo 3.0 Review
ActiveState has recently released version 3.0 of its Komodo IDE, supporting agile languages. Jason Purdy reviews the progress made since the 2.0 release. [Nov 4, 2004]
A Review of Komodo
Simon Cozens takes a look at ActiveState's latest Komodo release, Komodo 2.0. Will this version of the Perl IDE finally convince the hardened emacs and vi users to switch over? [Oct 9, 2002]
Perl Builder IDE Debuts
A review of Perl Builder, the first integrated development environment (IDE)for Perl. [Jul 22, 1998]
The Evolution of Perl Email Handling
There are many modules on the CPAN for slicing and dicing email, and we're going to take a whistlestop tour of the major ones. We'll also concentrate on an effort started by myself, Richard Clamp, Simon Wistow, and others, called the Perl Email Project, to produce simple, efficient and accurate mail handling modules. [Jun 10, 2004]
Siesta Mailing List Manager
Majordomo is past its best, and many Perl Mongers groups rely on ezmlm or Mailman. Why isn't there a decent Perl-based mailing list manager? Simon Wistow and others from London.pm decided to do something about it ... and came up with Siesta. [Feb 5, 2004]
Files
Testing Files and Test Modules
Perl hackers work with files all day long, creating, renaming, updating, editing, and munging them. Do you know your file-manipulation code works, though? That's why Phil Crow wrote Test::Files--to gain confidence and practice good coding. Here's how it works and how he tested a test module. [Dec 8, 2005]
FMTYEWTK About Mass Edits In Perl
Though it's a full-fledged programming language now, Perl still has roots in Unix file editing. A hearty set of command-line switches, options, and shortcuts make it possible to process files quickly, easily, and powerfully. Geoff Broadwell explains far more than you ever wanted to know about it. [Oct 14, 2004]
Perl's Special Variables
Dave Cross goes back to basics to show how using Perl's special variables can tidy up file-handling code. [Jun 18, 2004]
Simple IO Handling with IO::All
Perl module author extraordinaire Brian Ingerson demonstrates his latest creation. IO::All ties together almost all of Perl's IO handling libraries in one neat, cohesive package. [Mar 11, 2004]
Perl Slurp-Eaze
Uri Guttman demonstrates several different ways to read and write a file in a single operation, a common idiom that's sometimes misused. [Nov 21, 2003]
Finance
The Evolution of ePayment Services at UB
Perl is often a workhorse behind the scenes, content to do its job quietly and without fuss. When the University of New York at Buffalo needed to offer electronic payment services to students, the Department of Computing Services reached for Perl. Jim Brandt describes how Perl (and a little Inline::Java) helped them build just enough code to allow students to pay their bills online. [Dec 9, 2004]
Games
Lightning Strikes Four Times
Perl lightning articles offer short takes on important subjects. See how Perl can outperform C for 3D programming, how (and why) to express cross-cutting concerns in your programs, and one way of keeping your test counts up-to-date. [Apr 12, 2007]
Building a 3D Engine in Perl, Part 4
The ultimate goal of all programming is to be as unproductive as possible--to write games. In part four of a series on building a 3D engine with Perl, Geoff Broadwell explains how to profile your engine, how to improve performance and code with display lists, and how to render text. [Aug 4, 2005]
Building a 3D Engine in Perl, Part 3
The ultimate goal of all programming is to be as unproductive as possible--to write games. In part three of a series on building a 3D engine with Perl, Geoff Broadwell explains how to manage the viewpoint and how to achieve impressive lighting effects with OpenGL. [Feb 17, 2005]
Building a 3D Engine in Perl, Part 2
The ultimate goal of all programming is to be as unproductive as possible--to write games. In part two of a series on building a 3D engine with Perl, Geoff Broadwell demonstrates animations and event handling. [Dec 29, 2004]
Building a 3D Engine in Perl
The ultimate goal of all programming is to be as unproductive as possible -- to write games. Why hurt yourself to write in low-level languages, though, when Perl provides all of the tools you need to do it well? Geoff Broadwell demonstrates how to use OpenGL from Perl. [Dec 1, 2004]
Autopilots in Perl
Jeffrey Goff explains how to connect the X-Plane flight simulator with a Perl console to build new instrument panels, traffic simulators, and even an autopilot in Perl. [Jul 12, 2004]
Solving Puzzles with LM-Solve
A great many puzzles and games, such as Solitaire or Sokoban, are of the form of a "logic maze" -- you move a board or tableau from state to state until you reach the appropriate goal state. Shlomi Fish presents his Games::LMSolve module, which provides a general representation of such games and an algorithm to solve them. [Nov 17, 2003]
Graphics
Lightning Strikes Four Times
Perl lightning articles offer short takes on important subjects. See how Perl can outperform C for 3D programming, how (and why) to express cross-cutting concerns in your programs, and one way of keeping your test counts up-to-date. [Apr 12, 2007]
Charting Data at the Bottom of the World
Alex Gough has a curious job. He's the only programmer for 500 miles at a remote Antarctic research station. His problems are like your problems too, though--gathering, manipulating, recording, and displaying data. Here's how he uses several CPAN modules to make pretty charts and graphs with almost no work. [May 4, 2006]
Making Menus with wxPerl
Perl's a great general-purpose programming language. wxWidgets is a powerful GUI toolkit that manages attractive, native widgets on multiple platforms. wxPerl is the combination, and it's easy to use, once you understand a few idioms. Roberto Alamos shows off everything you need to know to manage menus with wxPerl. [Oct 6, 2005]
Data Munging with Sprog
Sprog is a graphical programming environment written in Perl, programmable by connecting components visually and setting their properties. Sure, you've heard that promise before--but Grant McLean demonstrates how to retrieve and munge tabular data from a web page into LDIF files without writing a lick of code. [Jun 23, 2005]
The State of the Onion
Larry Wall's eighth annual State of the Onion address from OSCON 2004 related screensavers to surgery to Perl and the community. [Aug 19, 2004]
Photo Galleries with Mason and Imager
One of the major problems with the plethora of photo gallery software available is that very few of them integrate well with existing sites. Casey West comes up with a new approach using Imager and Mason to fit in with Mason sites. [Apr 1, 2004]
Creating Custom Widgets
Steve Lidie, coauthor of Mastering Perl/Tk, brings us more wisdom from his Tk experience--this time, explaining how to create your own simple widget classes. [Jan 9, 2002]
A Drag-and-Drop Primer for Perl/Tk
This article, by Steve Lidie, coauthor of Mastering Perl/Tk, describes the Perl/Tk drag-and-drop mechanism, often referred to as DND. Steve illustrates DND operations local to a single application, where you can drag items from one Canvas to another. [Dec 11, 2001]
wxPerl: Another GUI for Perl
Jouke Visse brings us a new tutorial on how to use wxPerl to create good-looking GUIs for Perl programs. [Sep 12, 2001]
Perl Helps The Disabled
As part of Mark-Jason Dominus's Lightning Talks at the 2001 O'Reilly Open Source Convention, Jon Bjornstad gave a talk about a Perl/Tk program he wrote to help a mute quadriplegic friend, Sue Simpson, to speak and to better use her computer. Jon's talk received a grand reception, not only for his clever use of Perl, but for a remarkably unselfish application of his skills. [Aug 27, 2001]
HTTP
Don't Be Afraid to Drop the SOAP
Web services may be unfortunately trendy, but having a simple API for other people to use your application is very powerful and useful. Is SOAP the right way to go? Sam Tregar describes an alternate approach he's pulled from working the Bricolage and Krang APIs. [Sep 30, 2004]
Installation
Still More Perl Lightning Articles
Perl lightning articles are short, direct, and full of electrifying practical information. This time, Steven Philip Schubiger demonstrates how to convert crufty MakeMaker installation scripts into shiny pure-Perl installers, Phil Crow demonstrates the use of Java's powerful Swing UI toolkit from Perl, Joshua McAdams explains how to turn any module into a script, and chromatic removes duplication from test suites. [Jul 13, 2006]
Java
Using Java Classes in Perl
Java has a huge amount of standard libraries and APIs. Some of them don't have Perl equivalents yet. Fortunately, using Java classes from Perl is easy--with Inline::Java. Andrew Hanenkamp shows you how. [Dec 21, 2006]
Generating UML and Sequence Diagrams
Sometimes a picture can save you thousands of words of description--and debugging. A sequence diagram shows the flow of methods and function calls between modules. Perl lets you generate these almost automatically for Perl code--or even Java. Phil Crow shows how to use UML::Sequence. [Aug 3, 2006]
Still More Perl Lightning Articles
Perl lightning articles are short, direct, and full of electrifying practical information. This time, Steven Philip Schubiger demonstrates how to convert crufty MakeMaker installation scripts into shiny pure-Perl installers, Phil Crow demonstrates the use of Java's powerful Swing UI toolkit from Perl, Joshua McAdams explains how to turn any module into a script, and chromatic removes duplication from test suites. [Jul 13, 2006]
The Evolution of ePayment Services at UB
Perl is often a workhorse behind the scenes, content to do its job quietly and without fuss. When the University of New York at Buffalo needed to offer electronic payment services to students, the Department of Computing Services reached for Perl. Jim Brandt describes how Perl (and a little Inline::Java) helped them build just enough code to allow students to pay their bills online. [Dec 9, 2004]
Bringing Java into Perl
Phil Crow explains how to use Java code from inside of Perl, using the Inline::Java module. [Nov 7, 2003]
Language Development
The State of the Onion
Larry Wall's eighth annual State of the Onion address from OSCON 2004 related screensavers to surgery to Perl and the community. [Aug 19, 2004]
Lightweight Languages
Simon Cozens reports from this weekend's Lightweight Languages workshop at the MIT AI labs, where leading language researchers and implementors got together to chat about what they're up to. [Nov 21, 2001]
This Week in Perl 6 (5 - 11 August 2001)
Damian's slides, more on properties and more [Aug 11, 2001]
This Fortnight In Perl 6 (July 22 - Aug. 4, 2001)
The Perl Conference 5.0 synopsis, ideas from the mailing lists, and more. [Aug 9, 2001]
This Fortnight in Perl 6 (17 - 30 June 2001)
A detailed summary of a recent Perl vs. Java battle, a discussion on the internal API for strings, and much more. [Jul 3, 2001]
This Week in Perl 6 (10 - 16 June 2001)
Even More on Unicode and Regexes, Multi-Dimensional Arrays and Relational Databases, and much more. [Jun 19, 2001]
This Week in Perl 6 (3 - 9 June 2001)
A discussion on the interaction of properties with use strict, continuing arguements surrounding regular expressions, and much more. [Jun 12, 2001]
This Week on p5p 2001/06/03
Improving the Perl test suite, Warnings crusade, libnet in the core, and much more. [Jun 4, 2001]
This Week on p5p 2001/05/27
Attribute tieing, Test::Harness cleanup, and much more. [May 27, 2001]
Taking Lessons From Traffic Lights
Michael Schwern examines traffic lights and shows what lessons applied to the development of Perl 6 [May 22, 2001]
This Month on Perl6 (1 May - 20 May 2001)
Perl 6 Internals, Meta, Language, Docs Released, and much more. [May 21, 2001]
This Week on p5p 2001/05/13
The to-do list, safe signals, release numbering and much more. [May 13, 2001]
This Week on p5p 2001/05/20
Internationalisation, Legal FAQ, and much more. [May 6, 2001]
This Week on p5p 2001/05/06
iThreads, Relocatable Perl, Module License Registration, and much more. [May 6, 2001]
This Week on p5p 2001/04/29
MacPerl 5.6.1, Licensing Perl modules, and much more. [Apr 29, 2001]
This Week on p5p 2001/04/22
Modules in the core, Kwalitee control, and much more. [Apr 22, 2001]
This Week on p5p 2001/04/15
perlbug Administration, problems with tar, and much more. [Apr 15, 2001]
This Week on p5p 2001/04/08
Perl 5.6.1 and Perl 5.7.1 Released(!), and much more. [Apr 8, 2001]
This Week on p5p 2001/04/02
Perl and HTML::Parser, Autoloading Errno, Taint testing, and much more. [Apr 2, 2001]
This Week on p5p 2001/04/01
Perl and HTML::Parser, Autoloading Errno, Taint testing, and much more. [Apr 1, 2001]
This Week on p5p 2001/03/26
use Errno is broken, Lexical Warnings, Scalar repeat bug, and much more. [Mar 26, 2001]
This Month on Perl6 (25 Feb--20 Mar 2001)
Internal Data Types, API Conventions, and GC once again. [Mar 21, 2001]
This Week on p5p 2001/03/19
Robin Houston vs. goto, more POD nits, and much more. [Mar 19, 2001]
This Week on p5p 2001/03/12
Pod questions, patching perly.y, EBCDIC and Unicode, plus more. [Mar 12, 2001]
This Week on p5p 2001/03/05
Coderef @INC, More Memory Leak Hunting, and more. [Mar 5, 2001]
This Week on p5p 2001/02/26
Overriding +=, More Big Unicode Wars, and more. [Feb 28, 2001]
This Week on p6p 2001/02/18
A revisit to RFC 88, quality assurance, plus more. [Feb 18, 2001]
This Week on p5p 2001/02/12
Perl FAQ updates, memory leak plumbing, and more. [Feb 14, 2001]
This Week on p5p 2001/02/06
Perl 5.6.1 not delayed after all, MacPerl, select() on Win32, and more. [Feb 6, 2001]
This Week on p5p 2001/01/28
5.6.x delayed, the hashing function, PerlIO programming documentation, and more. [Jan 30, 2001]
This Week on p5p 2001/01/21
Safe signals; large file support; pretty-printing and token reporting. [Jan 24, 2001]
This Week on p5p 2001/01/14
Unicode is stable! Big performance improvements! Better lvalue subroutine support! [Jan 15, 2001]
This Fortnight on p5p 2000/12/31
Unicode miscellany; lvalue functions. [Jan 9, 2001]
This Week on p5p 2000/12/24
5.6.1 trial release; new repository browser; use constant [Dec 27, 2000]
This Week on p5p 2000/12/17
More Unicode goodies; better arithmetic; faster object destruction. [Dec 17, 2000]
This Week on p5p 2000/12/10
Unicode support almost complete! Long standing destruction order bug fixed! Rejoice! [Dec 11, 2000]
This Week on p5p 2000/12/03
Automatic transliteration of Russian; syntactic oddities; lvalue subs. [Dec 4, 2000]
This Week on p5p 2000/11/27
Enhancements to for, map, and grep; Unicode on Big Iron; Low-Hanging Fruit. [Nov 27, 2000]
This Week on p5p 2000/11/20
Major regex engine enhancements; more aboutperlio
; improvedsubs.pm
. [Nov 20, 2000]
This Week on p5p 2000/11/14
lstat _
; more aboutperlio
; integer arithmetic. [Nov 14, 2000]
This Week on p5p 2000/11/07
Errno.pm error numbers; more self-tying; stack exhaustion in the regex engine. [Nov 7, 2000]
This Week on p5p 2000/10/30
More Unicode; self-tying; Perl's new built-in standard I/O library. [Oct 30, 2000]
These Weeks on p5p 2000/10/23
Perl's Unicode model; sfio; regex segfaults; naughty
[Oct 23, 2000]use vars
calls.
This Week on p5p 2000/10/08
Self-tying is broken; integer and floating-point handling; whyunshift
is slow. [Oct 8, 2000]
This Week on p5p 2000/07/09
The Perl bug database;buildtoc
; proposeduse namespace
pragma; a very clever Unicode hack. [Jul 9, 2000]
This Week on p5p 2000/07/02
Lots of Unicode; method lookup optimizations;my __PACKAGE__ $foo
. [Jul 2, 2000]
Notes on Doug's Method Lookup Patch
Simon Cozens explains the technical details of a patch that was sent to p5p this month. [Jun 27, 2000]
This Week on p5p 2000/06/25
More method call optimization; tr///CU is dead; Lexical variables and eval; perlhacktut. [Jun 25, 2000]
This Week on p5p 2000/06/18
Method call optimizations; more bytecode; more unicode source files; EPOC port. [Jun 17, 2000]
This Week on p5p 2000/06/11
Unicode byte-order marks in Perl source code; many not-too-difficult bugs for entry-level Perl core hackers. [Jun 13, 2000]
This Week on p5p 2000/06/04
Farewell to Ilya Zakharevich; bytecode compilation; optimizations tomap
. [Jun 4, 2000]
This Week on p5p 2000/05/28
Regex engine alternatives and optimizations;eq
and UTF8; Caching ofget*by*
functions; Array interpolation semantics. [May 28, 2000]
This Week on p5p 2000/05/21
What happened on the perl5-porters mailing list between 15 and 21 May, 2000 [May 21, 2000]
Perl Meets COBOL
I taught a Perl class to some IBM mainframe programmers whose only experience was in COBOL, and got some surprises. [May 15, 2000]
This Week on p5p 2000/05/14
What happened on the perl5-porters mailing list between 8 and 14 May, 2000 [May 14, 2000]
This Week on p5p 2000/05/07
What happened on the perl5-porters mailing list between 1 and 7 May, 2000 [May 7, 2000]
This Week on p5p 2000/04/30
What happened on the perl5-porters mailing list between 24 and 30 April, 2000 [Apr 30, 2000]
This Week on p5p 2000/04/23
What happened on the perl5-porters mailing list between 17 and 23 April, 2000 [Apr 23, 2000]
This Week on p5p 2000/03/05
What happened on the perl5-porters mailing list between 28 February and 5 March, 2000 [Mar 5, 2000]
This Week on p5p 1999/12/26
What happened on the perl5-porters mailing list between 20 and 26 December, 1999 [Dec 26, 1999]
This Week on p5p 1999/12/19
What happened on the perl5-porters mailing list between 13 and 19 December, 1999 [Dec 19, 1999]
This Week on p5p 1999/12/12
What happened on the perl5-porters mailing list between 6 and 12 December, 1999 [Dec 12, 1999]
This Week on p5p 1999/12/05
What happened on the perl5-porters mailing list between 29 November and 5 December, 1999 [Dec 5, 1999]
This Week on p5p 1999/11/28
What happened on the perl5-porters mailing list between 22 and 28 November, 1999 [Nov 28, 1999]
This Week on p5p 1999/11/21
What happened on the perl5-porters mailing list between 15 and 21 November, 1999 [Nov 21, 1999]
This Week on p5p 1999/11/14
What happened on the perl5-porters mailing list between 8 and 14 November, 1999 [Nov 14, 1999]
This Week on p5p 1999/11/07
What happened on the perl5-porters mailing list between 1 and 7 November, 1999 [Nov 7, 1999]
This Week on p5p 1999/10/31
What happened on the perl5-porters mailing list between 25 and 31 October, 1999 [Nov 3, 1999]
This Week on p5p 1999/10/17
What happened on the perl5-porters mailing list between 11 and 17 October, 1999 [Oct 17, 1999]
This Week on p5p 1999/10/24
What happened on the perl5-porters mailing list between 18 and 24 October, 1999 [Oct 17, 1999]
Topaz: Perl for the 22nd Century
Chip Salzenberg, one of the core developers of Perl, talks about Topaz, a new effort to completely rewrite the internals of Perl in C++. The complete version of his talk (given at the 1999 O'Reilly Open Source Conference) is also available in Real Audio. [Sep 28, 1999]
Larry Wall
Programming is Hard, Let's Go Scripting...
Larry Wall's annual State of the Onion describes the state of Perl, the language and the community. In his 11th address, he discussed the past, present, and future of scripting languages, including the several dimensions of design decisions important to the development of Perl 6. [Dec 6, 2007]
The State of the Onion 10
In Larry Wall's tenth annual State of the Onion address, he talks about raising children and programming languages and balancing competing tensions and irreconcilable desires. [Sep 21, 2006]
The State of the Onion 9
In Larry Wall's ninth annual State of the Onion address, he explains Perl 6's Five Year Plan, how Perl programmers are like spies (or vice versa), and how open source can learn from the intelligence community. [Sep 22, 2005]
The State of the Onion
Larry Wall's eighth annual State of the Onion address from OSCON 2004 related screensavers to surgery to Perl and the community. [Aug 19, 2004]
State of the Onion 2003
Larry Wall's annual report on the state of Perl, from OSCON 2003 (the seventh annual Perl conference) in Portland, Oregon in July 2003. In this full length transcript, Larry talks about being unreasonable, unwilling, and impossible. [Jul 16, 2003]
The State of the Onion 5
Larry Wall gives his annual summary of the state of the Perl world. This year, as one might expect, the major focus was on Perl 6. Larry gave 33 lightning talks, of 55 seconds each, outlining elements of Perl 6's design. Here's a rundown on what Perl 6 is going to be. [Jul 25, 2001]
State of the Onion 2000
Larry Wall's annual report on the state of Perl, from TPC 4.0 (the fourth annual Perl conference) in Monterey in July 2000. In this full length transcript, Larry talks about the need for changes, which has led to the effort to rewrite the language in Perl 6. [Oct 24, 2000]
3rd State of the Onion
Larry explains the "good chemistry" of the Perl community in his third State of the Onion speech. [Aug 30, 1999]
Perl, the first postmodern computer language
Larry Wall's talk at Linux World justifies Perl's place in postmodern culture. He says that he included in Perl all the features that were cool and left out all those that sucked. [Mar 9, 1999]
2nd State of the Onion
Larry Wall's keynote address from 1998 Perl Conference. There is also a RealAudio version. [Aug 25, 1998]
The Culture of Perl
In this keynote address for the first Perl Conference, Larry Wall talks about the key ideas that influence him and by extension the Perl culture. [Aug 20, 1997]
Lingua
Making Dictionaries with Perl
Sean Burke is a linguist who helps save dying languages by creating dictionaries for them. He shows us how he uses Perl to layout and print these dictionaries. [Mar 25, 2004]
Linux
Perl and Mandrakelinux
Perl is a fantastic tool for system administrators. Why not use it for building administrative applications? That's just what Mandrakelinux does! Mark Stosberg recently interviewed Perl 5.10 pumpking and Mandrake employee Rafael Garcia-Suarez about the use of Perl for graphical applications. [Feb 24, 2005]
Lists
Guide to the Perl 6 Working Groups
Perl 6 discussion and planning are continuing at a furious rate and will probably continue to do so, at least until next month when Larry announces the shape of Perl 6 at the Linux Expo. In the meantime, here's a summary of the main Perl 6 working groups and discussion lists, along with an explanation of what the groups are about. [Sep 5, 2000]
Macintosh
Introducing Mac::Glue
Now that Apple computers are all the rage again, we describe how the technically inclined can use Perl to script Mac applications. [Jan 23, 2004]
Mail and USENET News
Mail to WAP Gateways
Ever needed to quickly check your email while you're away from your computer? Pete Sergeant devises a way to convert a mailbox into a WAP page for you to easily check over the phone. [Feb 13, 2004]
Mail Filtering
Michael Stevens compares two popular mail filtering tools, both written in Perl: ActiveState's PerlMX, and the open source Mail::Audit. How do they stack up? [Aug 27, 2002]
Stopping Spam with SpamAssassin
SpamAssassin and Vipul's Razor are two Perl-based tools that can be used to dramatically reduce the number of junk emails you need to see. [Mar 6, 2002]
Filtering Mail with PerlMx
PerlMx is ActiveState's Perl plug-in for Sendmail; in the first article in a new series, Mike DeGraw-Bertsch shows us how to begin building a mail filter to trap spam. [Oct 10, 2001]
Modules
Making Perl Reusable with Modules
Perl programs are easy to write, especially if they solve simple problems. If you find yourself re-using the same programs (or worse, the same code), it's time to bundle your code into pieces easier to reuse. It's time to turn programs into modules. Andy Sylvester walks through the three steps of making a simple, standalone Perl program into a robust, tested, distributable, and reusable piece of code. [Aug 7, 2007]
Option and Configuration Processing Made Easy
Many useful programs take arguments and configuration options. It's easy to add one or two, but as your program grows, the difficulty of allowing configuration concisely and intelligently also grows. Jon Allen demonstrates how to unify argument and configuration processing in a way that lets you write good code and your users get on with their work. [Jul 12, 2007]
Better Code Through Destruction
Perl 5's reference counting scheme almost always keeps memory usage predictable...except for one corner case. The Resource Acquisition Is Initialization strategy helps avoid memory leaks--and can improve your use of exceptions, alarms, other resources, and even transactional systems. Igor Gariev demonstrates. [Jun 7, 2007]
Lightning Strikes Four Times
Perl lightning articles offer short takes on important subjects. See how Perl can outperform C for 3D programming, how (and why) to express cross-cutting concerns in your programs, and one way of keeping your test counts up-to-date. [Apr 12, 2007]
More Advancements in Perl Programming
What's advanced Perl programming? The definition has changed over the years. For a while it was XS and GUIs and typeglobs and OO. Now a lot of it is using CPAN effectively. Since completing Advanced Perl Programming, Second Edition, Simon Cozens has discovered even more ways to work more smartly and effectively. Here's what he's learned. [Jan 26, 2006]
A Timely Start
A well-written Perl program should, in theory, beat a shell script, right? In theory. In practice, sometimes the details of your Perl installation have more to do with why your program is slow than you might believe. Jean-Louis Leroy recently tracked down a bottleneck and wrote up his experiences with making Perl programs start faster. [Dec 21, 2005]
Catalyst
MVC frameworks are hot again in the web development world. Perl has a rich array of choices. One new contender is Catalyst, an elegant platform for database-backed applications. Developers Jesse Sheidlower and Sebastian Riedel explain the design goals and build an Ajax-powered wiki in 30 lines of code. [Jun 2, 2005]
Building Good CPAN Modules
Your code is amazing. It works exactly as you intended. You've decided to give back, to share it with the world by uploading it to the CPAN. Before you do, though, there are a few fiddly details about cross-platform and cross-version compatibility to keep in mind. Rob Kinyon gives several guidelines about writing CPAN modules that will work everywhere they will be useful. [Apr 14, 2005]
Implementing Flood Control
If the load of application relies on incoming events, you may eventually face the happy curse of popularity: too much work to do with your available resources. If you set a limit on how many events you can process within a time period, you can avoid the flood. Vladi Belperchinov-Shabanski explains the algorithm and demonstrates working code. [Nov 11, 2004]
Why Review Code?
Want to become a better programmer? Read good code! How do you know what's good code and where to start? Luke Schubert demonstrates how to pull ideas out of code by exploring Math::Complex. [Oct 7, 2004]
Building a Finite State Machine Using DFA::Simple
A finite state machine (FSM) is a general-purpose mechanism for solving common programming problems that involve performing actions based on previous and current input. (They're good for parsers and the like.) William Ruppert demonstrates how to build and use FSMs in Perl. [Sep 23, 2004]
Building Applications with POE
In Matt Cashner's second article on POE, he describes how to fit together POE's components into event-driven applications. [Jul 23, 2004]
Application Design with POE
Matt Cashner provides a high-level introduction to POE, the Perl Object Environment, examining the concepts that POE brings to bear when designing long-running Perl applications. [Jul 2, 2004]
Building Testing Libraries
Save time, test more, and use what the CPAN has made available to enhance your development. Casey West demonstrates examples of good techniques when testing Perl-based software. [May 7, 2004]
Hidden Treasures of the Perl Core, part II
Casey continues to look at some lesser-known modules in the Perl core. [Jun 19, 2003]
Hidden Treasures of the Perl Core
The Perl Core comes with a lot of little modules to help you get your job done. Many of these modules are not well known. Even some of the well known modules have some nice features that are often overlooked. In this article, we'll dive into many of these hidden treasures of the Perl Core. [May 29, 2003]
For Perl Programmers : only
Brian Ingerson's curious new module allows you to specify which version of a module you want Perl to load - and even to install multiple versions at the same time. Let's hear about it from the man himself! [Mar 18, 2003]
Module::Build
Traditionally, modules have been put together withExtUtils::MakeMaker
. Dave Rolsky describes a more modern solution, and in the first of a two-part series, tells us more about it. [Feb 12, 2003]
The Phrasebook Design Pattern
Have you ever written code that uses two languages in the same program? Whether they be human languages or computer languages, the phrasebook design pattern helps you separate them for more maintainable code. [Oct 22, 2002]
Web Basics with LWP
LWP is a group of Perl modules that lets you access data on the Web. Because there are so many LWP modules, it's hard to know where to look for information on doing even the simplest things. This article offers sample recipes for performing common tasks with LWP, by the author of Perl & LWP. [Aug 20, 2002]
Acme::Comment
One of the most requested features for Perl 6 has been multiline comments; Jos Boumans goes one step ahead, and provides the feature for Perl 5. He describes the current hacks people use to get multiline comments, and explains his Acme::Comment module which now supports 44 different commenting styles. [Aug 13, 2002]
Asymmetric Cryptography in Perl
Last month, we had an article from Abhijit Menon-Sen about symmetric cryptography; this month, Vipul and Benjamin take us on a tour of its more advanced cousin, asymmetric cryptography. This introductory article is the first in a three-part series. [Sep 26, 2001]
Quantum::Entanglement
Quantum::Superpositions rocked the Perl world, as it provided a way to get more than one thing done at once. (in constant time.) Quantum::Entanglement goes yet further, using solid quantum physics theory to get an infinite number of things done at once. To tell you more would be to spoil the surprise, but the module's author, Alex Gough, tells us what it is and how it works... [Aug 8, 2001]
Pod::Parser Notes
Brad Appleton, author of thePod::Parser
module suite, responds to some of the remarks in an earlier perl5-porters mailing list summary. [May 20, 2000]
mod_perl
Debugging and Profiling mod_perl Applications
How do you use the debugger on amod_perl
application? How do you profile an application embedded in a web server, with multiple child processes? Don't worry. Where there's Perl, there's a way. Frank Wiles demonstrates how to debug and profilemod_perl
applications. [Feb 9, 2006]
Integrating mod_perl with Apache 2.1 Authentication
It's a good time to be a programmer. Apache 2.1 and mod_perl 2 make it tremendously easy to customize any part of the Apache request cycle. The more secure but still easy-to-use Digest authentication is now widely supported in web browsers. Geoffrey Young demonstrates how to write a custom handler that handles Basic and Digest authentication with ease. [Jul 8, 2003]
Testing mod_perl 2.0
Geoffrey Young examines another area of programming in mod_perl 2.0, testing your mod_perl scripts. [May 22, 2003]
Filters in Apache 2.0
Geoffrey Young, co-author of the renowned mod_perl Cookbook, brings us an introduction to Apache mod_perl 2.0, starting with Apache filters. [Apr 17, 2003]
Apache::VMonitor - The Visual System and Apache Server Monitor
In Stas' final article in his mod_perl series, we investigate how to monitor the performance and stability of our now fully-tuned mod_perl server using Apache::VMonitor. [Apr 2, 2003]
Improving mod_perl Sites' Performance: Part 8
In the penultimate of Stas Bekman's mod_perl articles, more of those obscure Apache settings which can really speed up your web server. [Mar 4, 2003]
Improving mod_perl Sites' Performance: Part 7
In this month's episode of Stas Bekman's mod_perl series, more on how settings in your Apache configuration can make or break performance. [Feb 5, 2003]
Improving mod_perl Sites' Performance: Part 6
In this month's episode of Stas Bekman's mod_perl series, how to correctly fork new processes under mod_perl. [Jan 7, 2003]
Improving mod_perl Sites' Performance: Part 5
Stas Bekman continues his series on optimizing mod_perl by examining more ways of saving on shared memory usage. [Dec 4, 2002]
Improving mod_perl Sites' Performance: Part 4
Your web server may have plenty of memory, but are you making the best use of it? Stas Bekman explains how to optimize Apache and mod_perl for the most efficient memory use. [Jul 30, 2002]
Improving mod_perl Sites' Performance: Part 3
This week, Stas Bekman explains how to use the Perl and mod_perl benchmarking and memory measurement tools to perform worthwhile optimizations on mod_perl programs. [Jul 16, 2002]
Improving mod_perl Sites' Performance: Part 2
Before making any optimizations to mod_perl applications, it's important to know what you need to be optimizing. Benchmarks are key to this, and Stas Beckman introduces the important tools for mod_perl benchmarking. [Jun 19, 2002]
Improving mod_perl Sites' Performance: Part 1
What do we need to think about when optimizing mod_perl applications? Stas Bekman explains how hardware, software and good programming come into play. [May 29, 2002]
Finding a mod_perl ISP... or Becoming One
You're ready to use mod_perl -- but do you have a server to run it on? Stas Bekman explains what an ISP needs to do to run mod_perl programs, and how to find an ISP that lets you do so. [May 22, 2002]
The Perl You Need To Know - Part 3
Stas Bekman finishes his introduction to the basic Perl skills you need to use mod_perl; this week, globals versus lexicals, modules and packages. [May 15, 2002]
The Perl You Need To Know - Part 2
Stas Bekman continues his mod_perl series by looking at the basic Perl skills you need to use mod_perl; this week, subroutines inside subroutines. [May 7, 2002]
The Perl You Need To Know
This week, Stas Bekman goes back to basics to explain some Perl topics of interest to his continuing mod_perl series. [Apr 23, 2002]
Installing mod_perl without superuser privileges
In his continuing series on mod_perl, Stas Bekman explains how to install a mod_perl-ized Apache on a server even if you don't have root privileges. [Apr 10, 2002]
mod_perl in 30 minutes
This week, Stas Bekman shows us how to install and configure mod_perl, and how to start accelerating CGI scripts with Apache::Registry. [Mar 22, 2002]
Why mod_perl?
In the first of a series of articles from mod_perl guru, Stas Bekman, we begin by taking a look at what mod_perl is and what it can do for us. [Feb 26, 2002]
Creating Modular Web Pages With EmbPerl
If you have ever wished for an "include" HTML tag to reuse large chunks of HTML, you are in luck. Neil Gunton explains how Embperl solves the problem. [Mar 13, 2001]
Music
Identifying Audio Files with MusicBrainz
Paul Mison describes one way to use the MusicBrainz database to find missing information about audio tracks. [Oct 3, 2003]
Net
A Perl Hacker's Foray into .NET
We've all heard about Microsoft's .NET project. What is it, and what does it mean for Perl? [Mar 19, 2002]
Networking Applications
Build a Wireless Gateway with Perl
Tired of programming and want to tackle some system administration? How about using Perl to manage the wireless gateway you've always meant to set up? Alptekin Cakircali shows off his AWLP project, which combines Linux and Perl to make a customizable wireless gateway out of an old PC. [May 19, 2005]
Cross-Language Remoting with mod_perlservice
Remoting -- sharing data between server and client processes -- is powerful, but writing your own protocols is tedious and difficult. XML-RPC is too simple and SOAP and CORBA are too complex. Isn't there something in the middle, something easier to set up and use? Michael W. Collins introducesmod_perlservice
, an Apache httpd module that provides remote services to C, Perl, or Flash clients. [Nov 18, 2004]
Implementing Flood Control
If the load of application relies on incoming events, you may eventually face the happy curse of popularity: too much work to do with your available resources. If you set a limit on how many events you can process within a time period, you can avoid the flood. Vladi Belperchinov-Shabanski explains the algorithm and demonstrates working code. [Nov 11, 2004]
Don't Be Afraid to Drop the SOAP
Web services may be unfortunately trendy, but having a simple API for other people to use your application is very powerful and useful. Is SOAP the right way to go? Sam Tregar describes an alternate approach he's pulled from working the Bricolage and Krang APIs. [Sep 30, 2004]
Objects
Generating UML and Sequence Diagrams
Sometimes a picture can save you thousands of words of description--and debugging. A sequence diagram shows the flow of methods and function calls between modules. Perl lets you generate these almost automatically for Perl code--or even Java. Phil Crow shows how to use UML::Sequence. [Aug 3, 2006]
Overloading
C++ and Haskell do it, Java and Lisp don't; Python does it, and Ruby is almost built on it. What is the allure of operator overloading, and how does it affect Perl programmers? Dave Cross brings us an introduction to overload.pm and the Perl overloading mechanism. [Jul 22, 2003]
POOL
What do templating, object oriented modules, computational linguistics, Ruby, profiling and oil paintings have in common? They're all part of this introduction to POOL, a tool to make it easier to write Perl modules. [Apr 22, 2003]
Object Oriented Exception Handling in Perl
Arun Udaya Shankar discusses implementing object-oriented exception handling in Perl, using Error.pm. Also covered are the advantages of using exceptions over traditional error handling mechanisms, basic exception handling with eval {}, and the use of Fatal.pm. [Nov 14, 2002]
Proxy Objects
How do you manage to have circular references without leaking memory? Matt Sergeant shows how it's done, with the Proxy Object pattern. [Aug 7, 2002]
Object-Oriented Perl
How do you move from an intermediate Perl programmer to an expert? Understanding object-oriented Perl is one key step along the way. [Nov 7, 2001]
Bless My Referents
Damian Conway explains how references and referents relate to Perl objects, along with examples of how to use them when building objects. [Sep 16, 1999]
Oddities
How Perl Helped Me Win the Office Football Pool
Walt Mankowski shows us how he used Perl to make a few extra bucks at the office. [Oct 2, 2000]
Office/Business
Massive Data Aggregation with Perl
What do you do if you have a huge array of disparate data sources from which to collect and present data in multiple formats? First, reach for Perl. Then...good question. Fred Moyer explains how his team designed and built a system to aggregate and present huge amounts of data with Perl. [May 5, 2005]
Open Source
The State of the Onion 10
In Larry Wall's tenth annual State of the Onion address, he talks about raising children and programming languages and balancing competing tensions and irreconcilable desires. [Sep 21, 2006]
The State of the Onion 9
In Larry Wall's ninth annual State of the Onion address, he explains Perl 6's Five Year Plan, how Perl programmers are like spies (or vice versa), and how open source can learn from the intelligence community. [Sep 22, 2005]
Why Review Code?
Want to become a better programmer? Read good code! How do you know what's good code and where to start? Luke Schubert demonstrates how to pull ideas out of code by exploring Math::Complex. [Oct 7, 2004]
Open Source Highlights
An open source champion inside Chevron writes about his visit to the Open Source Conference. [Sep 28, 1999]
Perl 6
Everyday Perl 6
Perl 6 will soon be here, and to Perl 5 programmers it will feel very different yet very much the same. Perl 6 will enable programmers to be more expressive by giving them more tools to work with (making easy things easy) and allowing them to be more precise in their expressions. Jonathan Scott Duff demonstrates how everyday Perl tasks remain easy but become clearer and more powerful in Perl 6 code that you can run today. [May 10, 2007]
The Beauty of Perl 6 Parameter Passing
Perl 6 isn't quite out yet, but you can learn and play with it today in various incarnations. One of the most compelling new features is a revamped and revised mechanism of parameter passing. Phil Crow demonstrates how powerful it is, and how you can gradually adopt more and more powerful constructs. [Mar 1, 2007]
The State of the Onion 10
In Larry Wall's tenth annual State of the Onion address, he talks about raising children and programming languages and balancing competing tensions and irreconcilable desires. [Sep 21, 2006]
What Is Perl 6
Perl 6 is the long-awaited rewrite of the venerable Perl programming language. What's the status? What's changing? What's staying the same? Why does Perl need a rewrite anyway? chromatic attempts to answer all of these questions. [Jan 12, 2006]
The State of the Onion 9
In Larry Wall's ninth annual State of the Onion address, he explains Perl 6's Five Year Plan, how Perl programmers are like spies (or vice versa), and how open source can learn from the intelligence community. [Sep 22, 2005]
Porting Test::Builder to Perl 6
With Pugs and Parrot playing nicely and bringing Perl 6 to the rest of us, enterprising early adopters are experimenting with porting their popular Perl 5 modules to Perl 6. O'Reilly editor chromatic recently pushed the limits of Pugs by porting Test::Builder to Perl 6. Here's what he learned about Perl 6, Pugs, and his design along the way. [Jul 28, 2005]
A Plan for Pugs
Want to write actual working Perl 6 code? A month ago, it would have been difficult. What a difference February made. Autrijus Tang and a loyal cadre of Perl and Haskell people have developed an amazingly complete Perl 6 implementation in a few short weeks. chromatic recently caught up with Autrijus on #perl6 to learn more about the project. [Mar 3, 2005]
The Phalanx Project
One ancient Greek military invention was the phalanx, a group of soldiers with overlapping shields each protecting each other. In the Perl world, the Phalanx project intends to improve the quality of Perl 5, Ponie, and the top CPAN modules. Project founder Andy Lester describes the goals and ambitions. [Jan 20, 2005]
Introducing mod_parrot
mod_perl marries Perl 5 with the Apache web server. What's the plan for Perl 6? mod_parrot--and it may also be base for any language hosted on the Parrot virtual machine. After a brief hiatus, Jeff Horwitz recently resurrected the mod_parrot progress. Here's the current state, what works, and how to play with it on your own. [Dec 22, 2004]
The State of the Onion
Larry Wall's eighth annual State of the Onion address from OSCON 2004 related screensavers to surgery to Perl and the community. [Aug 19, 2004]
Apocalypse 12
Larry Wall explains how objects and classes are to work in Perl 6. [Apr 16, 2004]
Synopsis 3
In this synopsis, Luke Palmer provides us with an updated view of Perl 6's operators. [Mar 18, 2004]
This week on Perl 6, week ending 2004-03-14
Benchmarks, Ponie and even Ruby drive on Parrot development this week, while the language team discuss methods that mutate their objects and properties that call actions on variables. [Mar 14, 2004]
This week on Perl 6, week ending 2004-02-29
More on Parrot's objects, plus some discussion of the Perl 6 release timescale. Will we see Perl 6 this century? [Feb 29, 2004]
Exegesis 7
Damian Conway explains how formatting will work in Perl 6 -- with a twist... [Feb 27, 2004]
This week on Perl 6, week ending 2004-02-22
It had to happen some day - someone wrote obfuscated Parrot assembler. Objects are nearly there, and the fight over "sort" cotinues. [Feb 22, 2004]
This week on Perl 6, week ending 2004-02-15
Parrot gains Data::Dumper, sort and nearly system(), while the language list struggles to agree on the best way to represent multi-level and multi-key sorting. [Feb 15, 2004]
This week on Perl 6, week ending 2004-02-08
This week, the internals team attack the challenges posed by garbage collection and threading, while the Unicode operators debate rages on over at the language list. Piers Cawley has the details. [Feb 8, 2004]
This week on Perl 6, week ending 2004-02-01
Lots of little clean-ups done to Parrot this week, while the Perl 6 language design focuses on vector operations and Unicode operators. [Feb 1, 2004]
This week on Perl 6, week ending 2004-01-25
The internals list is concerned with threading a smattering of other things; the language list debates vector operators and syntax mangling. Piers, as ever, fills us in. [Jan 25, 2004]
This week on Perl 6, week ending 2004-01-11
Parrot fixes to threading, continuations, the JIT and the garbage collector; the Perl 6 language list discusses traits, roles, and, for some reason, the EU Constitution... [Jan 11, 2004]
This week on Perl 6, week ending 2004-01-04
Dan calls for detailed suggestions for the Parrot threading model, and Piers makes up for the lack of activity in the language list by asking a few key players about their New Year hopes for Perl 6. [Jan 4, 2004]
This week on Perl 6, week ending 2003-12-07
Objects all round - Parrot gets objects, and there was much rejoicing. Meanwhile, Larry lifts parts of the veil on the Perl 6 object model. Piers Cawley has the details. [Dec 7, 2003]
This week on Perl 6, week ending 2003-11-30
The IMCC has a FAQ, the Perl 6 compiler gets updated to this month's reality, and Larry explains some more about the properties system. Piers Cawley, as ever, summarizes. [Nov 30, 2003]
This fortnight on Perl 6, week ending 2003-11-23
Dan returns from LL3 with new ideas, what "multi" really means, and more on the Perl 6 design philosophy - Piers Cawley sums up two weeks on the Perl 6 and Parrot mailing lists. [Nov 23, 2003]
This week on Perl 6, week ending 2003-11-09
People try to get PHP working on Parrot, while the perl6-language list thinks about nesting modules inside of modules. And Piers, dilligent as ever, summarizes all the action for your benefit. [Nov 9, 2003]
This week on Perl 6, week ending 2003-11-02
A Hallowe'en release, catering for method calls on empty registers, and Parrot gets a HTTP library. (No, really.) Perl 6 and Parrot news from Piers Cawley. [Nov 2, 2003]
This week on Perl 6, week ending 2003-10-26
IMCC becomes more important, how objects can get serialized, and the all-important Infocom interpreter: all the latest Parrot news from Piers. [Oct 26, 2003]
This week on Perl 6, week ending 2003-10-19
A new Parrot pumpking, Larry returns, and the Perl 6 compiler actually starts gathering steam... All this and more in this week's Perl 6 summary. [Oct 19, 2003]
This week on Perl 6, week ending 2003-10-12
The perl6-language list remains eerily silent, and Leo Tö [Oct 12, 2003]
This week on Perl 6, week ending 2003-09-21
The low-down on the 0.0.11 Parrot release, and some blue thinking about clever optimizations - the latest from the Perl 6 world, thanks to our trusty summarizer. [Sep 21, 2003]
This week on Perl 6, week ending 2003-09-07
This week in Perl 6, the keyed ops question raises its head again, how to dynamically add singleton methods, and why serialisation of objects is hard. [Sep 7, 2003]
This week on Perl 6, week ending 2003-08-31
Continuation passing style, active data, dump PMCs and absolutely nothing at all on the language list. [Aug 31, 2003]
This week on Perl 6, week ending 2003-08-17
Python on Parrot is nearly done, what's to do before Parrot 0.1.0, and when should we start writing about Perl 6? Piers Cawley reports on the perl6 mailing lists. [Aug 17, 2003]
This week on Perl 6, week ending 2003-08-03
Piers Cawley brings us news of PHP, Java, and Python ports to the Parrot VM, and more Exegesis 6 fall-out. [Aug 3, 2003]
Exegesis 6
Apocalypse 6 described the changes to subroutines in Perl 6. Exegesis 6 demonstrates what this will mean to you, the average Perl programmer. Damian Conway explains how the new syntax and semantics make for cleaner, simpler, and more powerful code. [Jul 29, 2003]
This week on Perl 6, week ending 2003-07-20
Threads, Events, code cleanups, and onions top the list of interesting things discussed on the Perl 6 lists this week. Piers Cawley summarizes. [Jul 20, 2003]
This week on Perl 6, week ending 2003-07-13
Ponie and Perl6::Rules impressed Perl 6 summarizer Piers Cawley this week. Read on to find out why. [Jul 13, 2003]
This week on Perl 6, week ending 2003-07-06
Building IMCC asparrot
, a better build system, and Perl 6 daydreams (z-code!) were the topics of note on perl6-internals and perl6-language this week, according to OSCON-session dodging summarizer Piers Cawley. [Jul 6, 2003]
This week on Perl 6, week ending 2003-06-22
Continuation Passing Shenanigans, evil dlopen() tricks, and controlling method dispatch dominate perl6-internals and perl6-language, according to fearless summarizer Piers Cawley. [Jun 23, 2003]
This week on Perl 6, week ending 2003-06-29
Exceptions, continuations, patches, and reconstituted flying cheeseburgers all dominated discussion on perl6-internals and perl6-language, according to summarizer Piers Cawley. No kidding. [Jun 23, 2003]
This week on Perl 6, week ending 2003-06-15
All the latest from perl6-language, perl6-internals and even the Perl 6 track at YAPC from our regular summariser, Piers Cawley. [Jun 15, 2003]
This week on Perl 6, week ending 2003-06-08
IMCC becomes Parrot, continuation passing style, timely destruction YET AGAIN, multi-method dispatch and more. [Jun 8, 2003]
This week on Perl 6, week ending 2003-06-01
Much more work on IMCC, method calling syntax in Parrot, coroutines attempt to become threads, compile-time binding, and many more discussions in this week's Perl 6 news - all summaries as usual by the eminent Piers Cawley. [Jun 1, 2003]
This week on Perl 6, week ending 2003-05-25
Piers takes a break from traditional English festivities to report on the Perl 6 world: this week, more about timely destruction, the Perl 6 Essentials book, a new layout for PMCs, and a lengthy discussion of coroutines. [May 25, 2003]
This week on Perl 6, week ending 2003-05-18
Garbage collection versus timely destruction, colors in BASIC, how contexts interact, and whether or not we need a special sigil for objects - it's all talk in the Perl 6 world this week. [May 18, 2003]
This week on Perl 6, week ending 2003-05-11
Perl 6 this week brings us news of managed and unmanaged buffers from Parrot's NCI, stack-walking garbage collection, co-routines, and some really horrible heredoc syntax wrangling. [May 11, 2003]
This week on Perl 6, week ending 2003-05-04
Piers reports on Parrot's calling conventions, the strange case of the boolean type, and much from the Perl 6 lists this week. [May 7, 2003]
This week on Perl 6, week ending 2003-04-27
Memory allocation, NCI, more about types, and changes in the syntax of blocks - all the latest in the Perl 6 world from Piers Cawley. [Apr 27, 2003]
This week on Perl 6, week ending 2003-04-20
Piers brings us a summary of much discussion of the proposed Perl 6 type system. [Apr 20, 2003]
This week on Perl 6, week ending 2003-04-13
Parrot on Win32, roll-backable variables, and properties versus methods. Piers has the scope, uh, scoop. [Apr 13, 2003]
Synopsis 6
Damian Conway and Allison Randal bring you a handy summary of the Perl 6 subroutine and type system, as described in last month's Apocalypse. [Apr 9, 2003]
This week on Perl 6, week ending 2003-04-06
Piers reports on the struggle for documentation, the battle of the threading models, and the victory for equality. [Apr 6, 2003]
This week on Perl 6, week ending 2003-03-30
People remain silent about Leo's work, how to do static variables, assignment operators, and more. Piers Cawley has the details. [Mar 30, 2003]
This week on Perl 6, week ending 2003-03-23
Another PDD, and much discussion of the latest Apocalypse. Piers Cawley, as ever, reports... [Mar 23, 2003]
This week on Perl 6, week ending 2003-03-16
Parrot 0.10.0 released, the Apocalypse hits, summarizer not quite buried... [Mar 16, 2003]
This week on Perl 6, week ending 2003-03-09
Object specifications and serialization discussion takes over both lists, and Piers narrowly escapes having to summarise the fallout from the Apocalypse already... [Mar 9, 2003]
Apocalypse 6
Larry continues his unfolding of the design of Perl 6 with his latest Apocalypse - this time, how subroutines are defined and called in Perl 6. [Mar 7, 2003]
This week on Perl 6, week ending 2003-03-02
IMCC is still a subject of much debate on the perl6-internals list, while tumbleweed drifts through perl6-language. Piers has the details. [Mar 3, 2003]
This week on Perl 6, week ending 2003-02-23
More from Piers Cawley on Perl 6, IMCC, Parrot's perfomance and the continuing arrays versus lists saga. [Feb 23, 2003]
This week on Perl 6, week ending 2003-02-16
Optimizations to the main loops, reflections from the Perl 6 design meeting, arrays versus lists, and much more... [Feb 16, 2003]
This week on Perl 6, week ending 2003-02-09
Beating Python, Parrot objects, shortcutting assignment operators , and much more... [Feb 9, 2003]
This week on Perl 6, week ending 2003-02-02
Packfiles, coroutines, secure sandboxes, Damian takes a break, and much more... [Feb 2, 2003]
This week on Perl 6, week ending 2003-01-26
Problems on OS X, targetting Parrot, the pipeline syntax thread refuses to die, and much more... [Jan 26, 2003]
This week on Perl 6, week ending 2003-01-19
Yet more on dead object detection and pipeline syntax, (surprise!) eval in Parrot, Larry and others need gainfultude, and much more... [Jan 19, 2003]
This week on Perl 6, week ending 2003-01-12
More on dead object detection, pipeline syntax, Perl 6 as a macro language, and much more... [Jan 12, 2003]
This week on Perl 6, weeks ending 2003-01-05
Garbage collection, the Ook! language, variables, values and properties, and much more... [Jan 8, 2003]
This week on Perl 6 (12/02-08, 2002)
Lots of work on IMCC, string literals, zero-indexec arrays, and much more... [Dec 8, 2002]
This week on Perl 6 (11/24-12/01, 2002)
C# and Parrot again, various visions, and, well, not all that much more... [Dec 1, 2002]
This week on Perl 6 (11/17-11/23, 2002)
C# and Parrot, the status of 0.0.9, invocant and topics, string concatenation and much, much more... [Nov 27, 2002]
This week on Perl 6 (11/10-11/17, 2002)
A quick Perl 6 roadmap, plus some JIT improvements, mysterious coredump fixes, continuations, superpositions, invocants, tests, and programming BASIC and Scheme in Parrot. [Nov 21, 2002]
This week on Perl 6 (11/03-11/10, 2002)
Bytecode fingerprinting, on_exit() portability, memory washing, invocant and topic naming syntax, Unicode operators, operators, more operators, the supercomma, perl6-documentation, Schwern throws the Virtual Coffee Mug, and much more... [Nov 15, 2002]
This week on Perl 6 (10/28-11/03, 2002)
Bytecode formats, "Simon Cozens versus the world", and more... [Nov 6, 2002]
This week on Perl 6 (10/20-27, 2002)
C# and Parrot, fun with operators, a license change, and more... [Nov 4, 2002]
On Topic
Allison Randal explains the seemingly strange concept of "topic" in Perl 6 - and finds that it's alive and well in Perl 5 too... [Oct 30, 2002]
This week on Perl 6 (10/7-14, 2002)
A new pumpking, sprintf, insight from Larry, and more... [Oct 16, 2002]
This week on Perl 6 (9/30 - 10/6, 2002)
The getting started guide, interfaces, memory allocation, and more... [Oct 6, 2002]
This week on Perl 6 (9/23 - 9/29, 2002)
An IMCC update, the Scheme interpreter, lists and list references again, and a load besides... [Sep 29, 2002]
This week on Perl 6 (9/16 - 9/22, 2002)
The neverending keys thread, lists versus list references, and a load besides... [Sep 22, 2002]
This week on Perl 6 (9/9 - 9/15, 2002)
Goals for the next release, arrays and hashes, hypothetical variables, getting more Parrot hackers, and a load besides... [Sep 15, 2002]
This week on Perl 6 (9/1 - 9/8, 2002)
Goals for the next release, arrays and hashes, hypothetical variables, getting more Parrot hackers, and a load besides... [Sep 8, 2002]
This week on Perl 6 (8/26 - 9/1, 2002)
More talk of garbage collection, the never-ending keys debate, Parrot 0.0.8, lots and lots about regular expressions, and a good deal more... [Sep 1, 2002]
Exegesis 5
Are Perl 6's regular expressions still messing with your head? Never fear, Damian is here - with another Exegesis explaining what real programs using Perl 6 grammars look like. [Aug 22, 2002]
This week on Perl 6 (week ending 2002-08-18)
Much ado about regexes, a pirate parrot, (it had to happen...) and more... [Aug 18, 2002]
This week on Perl 6 (week ending 2002-08-11)
Arrays, Garbage collection, keys, (again) regular expressions on non-strings, and more... [Aug 11, 2002]
This week on Perl 6 (week ending 2002-08-04)
More ops, JIT v2, Regex speed and more... [Aug 5, 2002]
This week on Perl 6 (week ending 2002-07-21)
0.0.7 is released, looking back to 5.005_03, documentation, MANIFEST and more... [Jul 23, 2002]
This Week on Perl 6 (8 - 14 Jul 2002)
Second system effect, IMCC, Perl 6 grammar, and much more... [Jul 14, 2002]
This week on Perl 6 ~(24-30 June 2002)
Processes, iterators, fun with the Perl 6 grammar and more... [Jul 2, 2002]
Synopsis 5
Confused by the last Apocalypse? Allison Randal and Damian Conway explain the changes in a more succinct form. [Jun 26, 2002]
Apocalypse 5
In part 5 of his design for Perl 6, Larry takes a long hard look at regular expressions, and comes up with some interesting ideas... [Jun 4, 2002]
Exegesis 4
What does the fourth apocalypse really mean to you? A4 explained what control structures would look like in Perl 6; Damian Conway expands on those ideas and presents a complete view of the Perl 6 control flow mechanism. [Apr 2, 2002]
This Week on Perl 6 (3 -9 Mar 2002)
Reworking printf, 0.0.4 imminent, multimethod dispatch, and more... [Mar 12, 2002]
These Weeks on Perl 6 (10 Feb - 2 Mar 2002)
information about the .NET CLR and what it means for Parrot people, how topicalizers work in Perl 6, and a rant about the lack of Parrot Design Documents. [Mar 6, 2002]
This Fortnight on Perl 6 (27 Jan - 9 Feb 2002)
The Regexp Engine, Mono, Unicode and more... [Feb 12, 2002]
Beginning PMCs
Parrot promises to give us support for extensible data types. Parrot Magic Cookie classes are the key to extending Parrot and providing support for other languages, and Jeff Goff shows us how to create them. [Jan 30, 2002]
This Week on Perl 6 (13 - 19 Jan 2002)
Apocalypse 4, Parrot strings, and more... [Jan 23, 2002]
This Week on Perl 6 (6 - 12 Jan 2002)
Parrot has Regexp support! (And more...) [Jan 17, 2002]
Apocalypse 4
In his latest article explaining the design of Perl 6, Larry Wall tackles the syntax of the language. [Jan 15, 2002]
This Week on Perl 6 (30 December 2001 - 5 Jan 2002)
Generators, Platform Fixes, Output records, and more [Jan 5, 2002]
This Week on Perl 6 (23 - 29 December 2001)
JITs, primitives for output, and the PDGF. [Dec 29, 2001]
This Week on Perl 6 (16 - 22 December 2001)
A JIT Compiler, the PDFG, an I/O layer, and much more [Dec 29, 2001]
This Week on Perl 6 (9 - 15 December 2001)
Slice context, troubles with make, aggregates and more... [Dec 19, 2001]
This Week on Perl 6 (2 - 8 December 2001)
Parrot 0.0.3, a FAQ, the execution environment and more... [Dec 10, 2001]
Perl 6 : Not Just For Damians
Most of what we've heard about Perl 6 has come from either Larry or Damian. But what do average Perl hackers think about the proposed changes? We asked Piers Cawley for his opinions. [Oct 23, 2001]
Exegesis 3
Damian Conway puts Larry's third Apocalypse to work and explains what it means for the budding Perl 6 programmer. [Oct 3, 2001]
Apocalypse 3
Larry Wall brings us the next installment in the unfolding of Perl 6's design. [Oct 2, 2001]
Parrot : Some Assembly Required
Last week, the first version of the Parrot assembler and virtual machine was released; since then, we've seen a flurry of activity and patches to it. Simon Cozens tells us all about what Parrot is, how it relates to Perl 6, how to write in Parrot assembler, and how to get involved in developing and improving Parrot. [Sep 18, 2001]
This Week on Perl 6 (2 - 8 September 2001)
Lexical insertion, lots of new documentation, and more... [Sep 8, 2001]
This Week on Perl 6 (26 August - 1 September 2001)
Parameter passing, the latest on Parrot, finalization and more... [Sep 1, 2001]
This Week on Perl 6 (19 - 25 August 2001)
Closures, more work on the internals, method signatures and more... [Aug 27, 2001]
This Week on Perl 6 (12 - 18 August 2001)
Modules, work on the internals, language discussion and more... [Aug 21, 2001]
This Week in Perl 6 (27 May - 2 June 2001)
Coding Conventions Revisited, Status of the Perl 6 Mailing Lists, and much more. [Jun 4, 2001]
Exegesis 2
Having trouble visualizing how the approved RFC's for Perl 6 will translate into actual Perl code? Damian Conway provides and exegesis to Larry Wall's Apocalypse 2 and reveals what the code will look like. [May 15, 2001]
Apocalypse 1: The Ugly, the Bad, and the Good
With breathless expectation, the Perl community has been waiting for Larry Wall to reveal how Perl 6 is going to take shape. In the first of a series of "apocalyptic" articles, Larry reveals the ugly, the bad, and the good parts of the Perl 6 design process. [Apr 2, 2001]
Report on the Perl 6 Announcement
At the Perl conference, Larry announced plans to develop Perl 6, a new implementation of Perl, starting over from scratch. The new Perl will fix many of the social and technical deficiencies of Perl 5. [Jul 25, 2000]
Perl Internals
Where Wizards Fear To Tread
So you're a Perl master. You've got XS sorted. You know how the internals work. Hey, there's nothing we can teach you on perl.com that you don't already know. You think? Our new series teaches the topics others only dream about, starting with the Perl op tree. [May 7, 2002]
Sapphire
Can one person rewrite Perl from scratch? [Sep 19, 2000]
Porting
Porting Test::Builder to Perl 6
With Pugs and Parrot playing nicely and bringing Perl 6 to the rest of us, enterprising early adopters are experimenting with porting their popular Perl 5 modules to Perl 6. O'Reilly editor chromatic recently pushed the limits of Pugs by porting Test::Builder to Perl 6. Here's what he learned about Perl 6, Pugs, and his design along the way. [Jul 28, 2005]
Programming
Logic Programming with Perl and Prolog
Perl isn't the last, best programming language you'll ever use for every task. (Perl itself is a C program, you know.) Sometimes other languages do things better. Take logic programming--Prolog handles relationships and rules amazingly well, if you take the time to learn it. Robert Pratte shows how to take advantage of this from Perl. [Dec 15, 2005]
Making Sense of Subroutines
Subroutines are the building blocks of programs. Yet, too many programmers use them ineffectively, whether not making enough of them, naming them poorly, combining too many concepts into one, or any of a dozen other problems. Used properly, they can make your programs shorter, faster, and more maintainable. Rob Kinyon shows the benefits and advanced uses that come from revisiting the basics of subroutines in Perl. [Nov 3, 2005]
Making Menus with wxPerl
Perl's a great general-purpose programming language. wxWidgets is a powerful GUI toolkit that manages attractive, native widgets on multiple platforms. wxPerl is the combination, and it's easy to use, once you understand a few idioms. Roberto Alamos shows off everything you need to know to manage menus with wxPerl. [Oct 6, 2005]
Ten Essential Development Practices
Perl lets you be productive in everything from quick and dirty throwaway programs to big, business-critical applications. Building the latter requires some discipline, though. Damian Conway shares ten essential development practices to make your Perl programming easier, more reliable, and even more enjoyable. [Jul 14, 2005]
Data Munging with Sprog
Sprog is a graphical programming environment written in Perl, programmable by connecting components visually and setting their properties. Sure, you've heard that promise before--but Grant McLean demonstrates how to retrieve and munge tabular data from a web page into LDIF files without writing a lick of code. [Jun 23, 2005]
Understanding and Using Iterators
Unlike some other programming languages, Perl makes it easy to process lists of items. Lists and arrays aren't always suitable for every task, though; sometimes you need something more powerful. Sometimes you need an iterator. Joshua Gatcomb explains where iterators are useful and how to use them. [Jun 16, 2005]
Perl Code Kata: Testing Imports
Persistently practicing good programming will make you a better programmer. It can be difficult to find small tasks to practice, though. Fear not! Here's a 30-minute exercise to improve your testing abilities and your understanding of module importing and exporting. [Dec 16, 2004]
Perl Code Kata: Testing Taint
Persistently practicing good programming will make you a better programmer. It can be difficult to find small tasks to practice, though. Fear not! Here's a 30-minute exercise to improve your testing abilities and your understanding of Perl's taint mode. [Oct 21, 2004]
Profiling Perl
How do you know what your Perl programs are spending their time doing? How do you know where to start optimizing slow code? The answer to both these questions is "profiling," and Simon Cozens looks at how it's done. [Jun 24, 2004]
Perl Design Patterns, Part 3
Phil Crow concludes his series on patterns in Perl, with a discussion of patterns and objects. [Aug 15, 2003]
Perl Design Patterns, Part 2
Phil Crow continues his series on how some popular patterns fit into Perl programming. [Aug 7, 2003]
Perl Design Patterns
The Gang-of-Four Design Patterns book had a huge impact on programming methodologies in the Java and C++ communities, but what do Design Patterns have to say to Perl programmers? Phil Crow examines how some popular patterns fit in to Perl programming. [Jun 13, 2003]
How Hashes Really Work
We're all used to using hashes, and expect them to just work. But what actually is a hash, when it comes down to it, and how do they work? Abhijit explains! [Oct 1, 2002]
Optimizing Your Perl
Is your perl program taking too long to run? This might be because you've chosen a data structure or algorithm that takes a long time to run. By rethinking how you've implemented a function, you might be able to realize huge gains in speed. [Feb 12, 2002]
Beginners Intro to Perl - Part 6
Doug Sheppard shows us how to activate Perl's built in security features. [Jan 9, 2001]
Beginners Intro to Perl - Part 5
Doug Sheppard discusses object-oriented programming in part five of his series on beginning Perl. [Dec 18, 2000]
Beginners Intro to Perl - Part 4
Doug Sheppard teaches us CGI programming in part four of his series on beginning Perl. [Dec 6, 2000]
Beginner's Introduction to Perl - Part 3
The third part in a new series that introduces Perl to people who haven't programmed before. This week: Patterns and pattern matching. If you weren't sure how to get started with Perl, here's your chance! [Nov 20, 2000]
Program Repair Shop and Red Flags
Once again I take a real program written by a genuine novice and show how to clean it up and make it better. This time we turn a perl4 library into a Perl 5 object-oriented module. I show how to recognize some "red flags" that are early warning signs that you might be doing some of the same things wrong in your own programs. [Nov 14, 2000]
Beginner's Introduction to Perl - Part 2
The second part in a new series that introduces Perl to people who haven't programmed before. This week: Files and strings. If you weren't sure how to get started with Perl, here's your chance! [Nov 7, 2000]
Beginner's Introduction to Perl
The first part in a new series that introduces Perl to people who haven't programmed before. If you weren't sure how to get started with Perl, here's your chance! [Oct 16, 2000]
Return of Program Repair Shop and Red Flags
My other 'red flags' article was so popular that once again I've taken a real program written by a genuine novice and shown how to clean it up and make it better. I show how to recognize some "red flags" that are early warning signs that you might be doing some of the same things wrong in your own programs. [Jun 17, 2000]
Program Repair Shop and Red Flags
I've taken a real program written by a genuine novice and shown how to clean it up and make it better. I also show how to recognize some "red flags" that are early warning signs that you might be doing some of the same things wrong in your own programs. [May 2, 2000]
My Life With Spam: Part 3
In the third part of a tutorial on how to filter spam, Mark-Jason Dominus reveals how he relegates mail to his "losers list, blacklist and whitelist." [Mar 15, 2000]
My Life With Spam
In the second part of a tutorial on how to filter spam, Mark-Jason Dominus shows what to do with spam once you've caught it. [Feb 9, 2000]
Perl Recipe of the Day
Each day, we present a new recipe from The Perl Cookbook, the best-selling book by Tom Christiansen and Nathan Torkington. [Aug 26, 1999]
Perl's Prospects Are Brighter Than Ever
Jon Udell's summary of the Perl Conference. [Aug 26, 1998]
MacPerl Gains Ground
MacPerl gains a foothold on a machine without a command-line interface. Rich Morin of Prime Time Freeware and Matthias Neeracher, the programmer who ported Perl to the Macintosh, talk about what makes MacPerl different. [Jun 3, 1998]
Regular Expressions
Lexing Your Data
Perl is famous for its text-processing capabilities. However, sometimes the data you want to process is too complicated for regular expressions and you reach for a parser for HTML, RTF, or other common format. What happens you don't have a pre-defined parser, but the text you need to work with is too complicated for regular expressions? Curtis Poe shows how to do proper lexing with Perl. [Jan 5, 2006]
Why Review Code?
Want to become a better programmer? Read good code! How do you know what's good code and where to start? Luke Schubert demonstrates how to pull ideas out of code by exploring Math::Complex. [Oct 7, 2004]
Maintaining Regular Expressions
It's easy to get lost in complex regular expressions. Aaron Mackey offers a few tips and an ingenious technique to help you keep things straight. [Jan 16, 2004]
Power Regexps, Part II
Simon looks at slightly more advanced features of the Perl regular expression language, including lookahead and lookbehind, extracting multiple matches, and regexp-based modules. [Jul 1, 2003]
Regexp Power
In this short series of two articles, we'll take a look through some of the less well-known or less understood parts of the regular expression language, and see how they can be used to solve problems with more power and less fuss. [Jun 6, 2003]
Releases
What's new in Perl 5.8.0
It's been nearly six months since the release of Perl 5.8.0 but many people still haven't upgraded to it. Artur Bergman takes a look at some of the new features it provides and describe why you ought to investigate them for yourself. [Jan 16, 2003]
Perl 6 Alive and Well! Introducing the perl6-mailing-lists Digest
Perl.com will be supplying you with the P6P digest, covering the latest news on the development of Perl 6. [Feb 14, 2001]
What's New in 5.6.0.
After two years in the making, we look at new features of Perl, including support for UTF-8 Unicode and Internet address constants. [Apr 18, 2000]
Happy Birthday Perl 5!
[Oct 18, 1999]
School
Analyzing HTML with Perl
Kendrew Lau taught HTML development to business students. Grading web pages by hand was tedious--but Perl came to the rescue. Here's how Perl and HTML parsing modules helped make teaching fun again. [Jan 19, 2006]
The Evolution of ePayment Services at UB
Perl is often a workhorse behind the scenes, content to do its job quietly and without fuss. When the University of New York at Buffalo needed to offer electronic payment services to students, the Department of Computing Services reached for Perl. Jim Brandt describes how Perl (and a little Inline::Java) helped them build just enough code to allow students to pay their bills online. [Dec 9, 2004]
Screen I/O
More Lightning Articles
Yes, it's the return of Perl Lightning Articles -- short discussions of Perl and programming. This time, learn about Emacs customization with Perl, debugging without adding print statements, testing database-heavy code, and why unbuffering may be a mistake. [Mar 31, 2005]
Security
Elements of Access Control
Some data is private. Other data, less so. Secure applications make it possible--and easy--to keep user data visible to the right people and invisible to the wrong people. Vladi Belperchinov explains how access control works and demonstrates with working code suitable for implementing your own access controls. [Feb 13, 2008]
Preventing Cross-site Scripting Attacks
Paul Lindner, author of the mod_perl Cookbook, explains how to secure our sites against Cross-Site Scripting attacks using mod_perl and Apache::TaintRequest. [Feb 20, 2002]
Symmetric Cryptography in Perl
What do you think of when you hear the word "cryptography"? Big expensive computers? Men in black helicopters? PGP or GPG encrypting your mail? Maybe you don't think of Perl. Well, Abhijit Menon-Sen says you should. He's the author of a bunch of the Crypt:: modules, and he explains how to use Perl to keep your secrets... secret. [Jul 10, 2001]
Statistics
Parsing iCal Data
Perl's suitability as a glue language allows you to connect two applications that wouldn't normally communicate by translating their data files between formats. It's especially nice when these are open file formats. Robert Pratte shows how to parse iCal data files--as used in Apple's iCalendar program--and visualize them using the open source Dot graphic package. [Aug 18, 2005]
Style Guides
Ten Essential Development Practices
Perl lets you be productive in everything from quick and dirty throwaway programs to big, business-critical applications. Building the latter requires some discipline, though. Damian Conway shares ten essential development practices to make your Perl programming easier, more reliable, and even more enjoyable. [Jul 14, 2005]
A Refactoring Example
Michael Schwern explains how to use refactoring techniques to make code faster. [Oct 9, 2003]
Red Flags Return
Readers pointed out errors and suggested more improvements to the code in my 'Red Flags' articles. As usual, there's more than one way to do it! [Nov 28, 2000]
In Defense of Coding Standards
Perl programmers may bristle at the idea of coding standards. Fear not: a few simple standards can improve teamwork without crushing creativity. [Jan 12, 2000]
Sysadmin
Build a Wireless Gateway with Perl
Tired of programming and want to tackle some system administration? How about using Perl to manage the wireless gateway you've always meant to set up? Alptekin Cakircali shows off his AWLP project, which combines Linux and Perl to make a customizable wireless gateway out of an old PC. [May 19, 2005]
Automating Windows (DNS) with Perl
Perl is a fantastic tool for system administrators -- even on Windows. Though the shiny GUI is astonishingly useless (or at least too mouse-friendly) for all but the simplest changes, there's plenty to automate under the shell. Thomas Herchenroeder explains how he wrapped dnscmd with Perl to make changes easily. [Mar 24, 2005]
Perl and Mandrakelinux
Perl is a fantastic tool for system administrators. Why not use it for building administrative applications? That's just what Mandrakelinux does! Mark Stosberg recently interviewed Perl 5.10 pumpking and Mandrake employee Rafael Garcia-Suarez about the use of Perl for graphical applications. [Feb 24, 2005]
Managing Bulk DNS Zones with Perl
Chris Josephes describes the challenges to system administrators in maintaining forward and reverse DNS records, and how a clever sysadmin can use Perl to automate this often tedious task. [Nov 20, 2002]
System Administration Applications
Build a Wireless Gateway with Perl
Tired of programming and want to tackle some system administration? How about using Perl to manage the wireless gateway you've always meant to set up? Alptekin Cakircali shows off his AWLP project, which combines Linux and Perl to make a customizable wireless gateway out of an old PC. [May 19, 2005]
Automating Windows (DNS) with Perl
Perl is a fantastic tool for system administrators -- even on Windows. Though the shiny GUI is astonishingly useless (or at least too mouse-friendly) for all but the simplest changes, there's plenty to automate under the shell. Thomas Herchenroeder explains how he wrapped dnscmd with Perl to make changes easily. [Mar 24, 2005]
Perl and Mandrakelinux
Perl is a fantastic tool for system administrators. Why not use it for building administrative applications? That's just what Mandrakelinux does! Mark Stosberg recently interviewed Perl 5.10 pumpking and Mandrake employee Rafael Garcia-Suarez about the use of Perl for graphical applications. [Feb 24, 2005]
Text Tools
Reverse Callback Templating
Many programmers know of the two main systems of templating. One embeds actual source code into the template. The other provides a mini language with loops, conditionals, and other control structures. There is a third way -- a reverse callback system. James Robson explains this best-of-both-worlds approach by demonstrating Perl's Template::Recall module. [Mar 14, 2008]
FMTYEWTK About Mass Edits In Perl
Though it's a full-fledged programming language now, Perl still has roots in Unix file editing. A hearty set of command-line switches, options, and shortcuts make it possible to process files quickly, easily, and powerfully. Geoff Broadwell explains far more than you ever wanted to know about it. [Oct 14, 2004]
How We Wrote the Template Toolkit Book ...
When Dave Cross, Andy Wardley, and Darren Chamberlain got together to write the Perl Template Toolkit book, they decided to write it in Plain Old Documentation. Dave shows us how the Template Toolkit itself transformed that for publication. [Jan 30, 2004]
Building a Vector Space Search Engine in Perl
Have you ever wondered how search engines work, or how to add one to your program? Maciej Ceglowski walks you through building a simple, fast and effective vector-space search engine. [Feb 19, 2003]
Choosing a Templating System
Perrin Harkins takes us on a grand tour of the most popular text and HTML templating systems. [Aug 21, 2001]
Designing a Search Engine
Pete Sergeant discusses two elements of designing a search engine: how to store and retrieve data efficiently, and how to parse search terms. [Apr 10, 2001]
Creating Data Output Files Using the Template Toolkit
Dave Cross explains why you should add the Template Toolkit to your installation of Perl and why it is useful for more than just dynamic web pages. [Jan 23, 2001]
Tools
Perl Needs Better Tools
Perl is a fantastic language for getting your work done. It's flexible, forgiving, malleable, and dynamic. Why shouldn't it have good, powerful tools? Are Perl development tools behind those of other, perhaps less-capable languages? J. Matisse Enzer argues that Perl needs better tools, and explains what those tools should do. [Aug 25, 2005]
Perl Command-Line Options
After looking at special variables, Dave Cross now casts his eye over the impressive range of functionality available from simple command-line options to the Perl interpreter. [Aug 10, 2004]
Web Testing with HTTP::Recorder
The HTTP::Recorder module is a brilliant new way of writing tests for web applications -- it works as a proxy, watching how you navigate around a site and then replays the browsing session to check that everything is what you expect. Its author, Linda Julien, explains how to start writing web site test suites. [Jun 4, 2004]
Affrus: An OS X Perl IDE
Affrus is a new IDE from Late Nite Software; Simon puts it through its paces to see how it compares to Komodo and his beloved Unix editors. [May 14, 2004]
A Test::MockObject Illustrated Example
Test::MockObject gives you a way to create unit tests for object-oriented programs, isolating individual object and method behavior. [Jul 10, 2002]
Request Tracker
Do you ever forget what you're supposed to be doing today? Do you have a million and one projects on the go, but no idea where you're up to with them? I frequently get that, and I don't know how I'd get anything at all done if it wasn't for Request Tracker. Robert Spier explains how to use the open-source Request Tracker application to organise teams working on common projects. [Nov 28, 2001]
Troubleshooting
Ten Essential Development Practices
Perl lets you be productive in everything from quick and dirty throwaway programs to big, business-critical applications. Building the latter requires some discipline, though. Damian Conway shares ten essential development practices to make your Perl programming easier, more reliable, and even more enjoyable. [Jul 14, 2005]
Perl Code Kata: Mocking Objects
One problem with many examples of writing test code is that they fake up a nice, perfect, self-contained world and proceed to test it as if real programs weren't occasionally messy. Real programs have to deal with external dependencies and work around odd failures, for example. How do you test that? In this Perl Code Kata, Stevan Little presents exercises in using Test::MockObject to make the messy real world more testable. [Apr 7, 2005]
Having Trouble Printing Code Examples?
Info for those who can't get Perl.com articles to print out correctly [Jun 11, 2001]
Tutorials
Beginner's Introduction to Perl 5.10, Part 2
Perl 5 has come a long way in the past few years. The newest version, Perl 5.10, added several new features to make your programs shorter, easier to maintain, easier to write, and more powerful. Here's how to start using files and strings in modern Perl. [May 7, 2008]
A Beginner's Introduction to Perl 5.10
Perl 5 has come a long way in the past few years. The newest version, Perl 5.10, added several new features to make your programs shorter, easier to maintain, easier to write, and more powerful. Here's how to start using modern Perl productively. [Apr 23, 2008]
Advanced Subroutine Techniques
Subroutines seem like a basic building block of code. They're simple and easy to understand and use, right? That's true--but there are a few advanced techniques to make your code more maintainable and robust. Rob Kinyon goes beyond making sense of subroutines to making subroutines work for you. [Feb 23, 2006]
Making Sense of Subroutines
Subroutines are the building blocks of programs. Yet, too many programmers use them ineffectively, whether not making enough of them, naming them poorly, combining too many concepts into one, or any of a dozen other problems. Used properly, they can make your programs shorter, faster, and more maintainable. Rob Kinyon shows the benefits and advanced uses that come from revisiting the basics of subroutines in Perl. [Nov 3, 2005]
Understanding and Using Iterators
Unlike some other programming languages, Perl makes it easy to process lists of items. Lists and arrays aren't always suitable for every task, though; sometimes you need something more powerful. Sometimes you need an iterator. Joshua Gatcomb explains where iterators are useful and how to use them. [Jun 16, 2005]
Perl Code Kata: Testing Imports
Persistently practicing good programming will make you a better programmer. It can be difficult to find small tasks to practice, though. Fear not! Here's a 30-minute exercise to improve your testing abilities and your understanding of module importing and exporting. [Dec 16, 2004]
Perl Code Kata: Testing Taint
Persistently practicing good programming will make you a better programmer. It can be difficult to find small tasks to practice, though. Fear not! Here's a 30-minute exercise to improve your testing abilities and your understanding of Perl's taint mode. [Oct 21, 2004]
Giving Lightning Talks
It's conference season, and there's still a chance to sign up for lightning talks. Until now, there were no written rules for giving lighting talks. Mark Fowler explains. [Jul 30, 2004]
Going Up?
Perl 5.8.0 brought stable threading to Perl - but what does it mean and how can we use it? Get a lift with Sam Tregar as he creates a multi-threaded simulation. [Sep 4, 2002]
Where Wizards Fear To Tread
One of the new features coming in Perl 5.8 will be reliable interpreter threading, thanks primarily to the work of Artur Bergman. In this article, he explains what you need to do to make your Perl modules thread-safe. [Jun 11, 2002]
Achieving Closure
What's a closure, and why does everyone go on about them? [May 29, 2002]
An Introduction to Testing
chromatic explains why writing tests is good for your code, and tells you how to go about it. [Dec 4, 2001]
Parse::RecDescent Tutorial
Parse::RecDescent is a recursive descent parser generator designed to help to Perl programmers who need to deal with any sort of structured data,from configuration files to mail headers to almost anything. It's even been used to parse other programming languages for conversion to Perl. [Jun 13, 2001]
A Beginner's Introduction to POE
Interested in event-driven Perl? Dennis Taylor and Jeff Goff show us how to write a simple server daemon using POE, the Perl Object Environment. [Jan 17, 2001]
User Interfaces
Still More Perl Lightning Articles
Perl lightning articles are short, direct, and full of electrifying practical information. This time, Steven Philip Schubiger demonstrates how to convert crufty MakeMaker installation scripts into shiny pure-Perl installers, Phil Crow demonstrates the use of Java's powerful Swing UI toolkit from Perl, Joshua McAdams explains how to turn any module into a script, and chromatic removes duplication from test suites. [Jul 13, 2006]
Test-Driving X11 GUIs
Is GUI testing as difficult as it seems? Maybe not, with the right testing libraries. George Nistorica shows what X11::GUITest can and can't do to make your Unix and Unix-like applications more robust. [Feb 2, 2006]
Making Menus with wxPerl
Perl's a great general-purpose programming language. wxWidgets is a powerful GUI toolkit that manages attractive, native widgets on multiple platforms. wxPerl is the combination, and it's easy to use, once you understand a few idioms. Roberto Alamos shows off everything you need to know to manage menus with wxPerl. [Oct 6, 2005]
Accessible Software
Jouke Visser demonstrates how to adapt your Perl programs for use by those who have difficulty using a mouse or keyboard. [Jul 15, 2004]
wxPerl: Another GUI for Perl
Jouke Visse brings us a new tutorial on how to use wxPerl to create good-looking GUIs for Perl programs. [Sep 12, 2001]
A Simple Gnome Panel Applet
Build a useful Gnome application in an afternoon! Joe Nasal explains some common techniques, including widget creation, signal handling, timers, and event loops. [Mar 27, 2001]
Writing GUI Applications in Perl/Tk
Nick Temple shows how to program a graphical Point-of-Sale application in Perl, complete with credit card processing. [Mar 6, 2001]
Programming GNOME Applications with Perl - Part 2
Simon Cozens shows us how to use Perl to develop applications for Gnome, the Unix desktop environment. [Nov 28, 2000]
Programming GNOME Applications with Perl
Simon Cozens shows us how to use Perl to develop applications for Gnome, the Unix desktop environment. [Oct 16, 2000]
Perl/Tk Tutorial
On Perl.com, we are presenting this as part of what we hope will be an ongoing series of articles, titled "Source Illustrated." The presentation by Lee and Brett is a wonderfully concise example of showing annotated code and its result. [Oct 15, 1999]
Version Control Systems
Distributed Version Control with svk
What started off for Chia-liang Kao as a wrapper around the Subversion version control system rapidly turned into a fully-fledged distributed VCS itself -- all, of course, in Perl. [Mar 4, 2004]
Web Development
Using Amazon S3 from Perl
Amazon's Simple Storage Service provides a simple, flexible, and inexpensive way to manage online data storage. Amazon's S3 modules for Perl make storing and retrieving data in your own programs almost trivial, leaving Amazon to worry about hosting, scaling, and backups. Abel Lin shows how to store, retrieve, and store data with Amazon S3. [Apr 8, 2008]
Reverse Callback Templating
Many programmers know of the two main systems of templating. One embeds actual source code into the template. The other provides a mini language with loops, conditionals, and other control structures. There is a third way -- a reverse callback system. James Robson explains this best-of-both-worlds approach by demonstrating Perl's Template::Recall module. [Mar 14, 2008]
Advanced HTML::Template: Widgets
HTML::Template is a templating module for HTML made powerful by its simplicity. Its minimal set of operations enforces a strict separation between presentation and logic. However, sometimes that minimalism makes templates unwieldy. Philipp Janert demonstrates how to reuse templates smaller than an entire page--and how this simplifies your applications. [Feb 1, 2007]
Advanced HTML::Template: Filters
HTML::Template is a templating module for HTML made powerful by its simplicity. Its minimal set of operations enforces a strict separation between presentation and logic. However, sometimes that minimalism makes templates unwieldy. Philipp Janert demonstrates how filters help you regain simplicity and separation of concerns. [Nov 30, 2006]
Using Ajax from Perl
The recently rediscovered Ajax technique makes the client side of web programming much more useful and pleasant. However, it also means revising your existing web applications to take advantage of this new power. Dominic Mitchell shows how to use CGI::Ajax to give your Perl applications access to this new power. [Mar 2, 2006]
Building E-Commerce Sites with Handel
Building web sites can be tedious--so many parts and pieces are all the same. Have you written enough form processors and shopping carts to last the rest of your life? Now you can get on with the real programming. Christopher H. Laco shows how to use Handel and Catalyst to build a working e-commerce site without actually writing any code. [Nov 17, 2005]
Building Navigation Menus
Well-designed websites are easy to navigate, with sensible menus, breadcrumb trails, and the information you need within three clicks of where you are. Rather than tediously coding navigation structures by hand, why not consider using a Perl module to generate them for you? Shlomi Fish shows how to use his HTML::Widgets::NavMenu module. [Jul 7, 2005]
Catalyst
MVC frameworks are hot again in the web development world. Perl has a rich array of choices. One new contender is Catalyst, an elegant platform for database-backed applications. Developers Jesse Sheidlower and Sebastian Riedel explain the design goals and build an Ajax-powered wiki in 30 lines of code. [Jun 2, 2005]
Introducing mod_parrot
mod_perl marries Perl 5 with the Apache web server. What's the plan for Perl 6? mod_parrot--and it may also be base for any language hosted on the Parrot virtual machine. After a brief hiatus, Jeff Horwitz recently resurrected the mod_parrot progress. Here's the current state, what works, and how to play with it on your own. [Dec 22, 2004]
Don't Be Afraid to Drop the SOAP
Web services may be unfortunately trendy, but having a simple API for other people to use your application is very powerful and useful. Is SOAP the right way to go? Sam Tregar describes an alternate approach he's pulled from working the Bricolage and Krang APIs. [Sep 30, 2004]
Web Testing with HTTP::Recorder
The HTTP::Recorder module is a brilliant new way of writing tests for web applications -- it works as a proxy, watching how you navigate around a site and then replays the browsing session to check that everything is what you expect. Its author, Linda Julien, explains how to start writing web site test suites. [Jun 4, 2004]
Rapid Web Application Deployment with Maypole : Part 2
We use Maypole to turn last week's product catalogue into a complete web commerce application. [Apr 29, 2004]
Rapid Web Application Deployment with Maypole
Maypole is a framework for creating web applications; Simon Cozens explains how to set up database-backed applications extremely rapidly. [Apr 22, 2004]
Photo Galleries with Mason and Imager
One of the major problems with the plethora of photo gallery software available is that very few of them integrate well with existing sites. Casey West comes up with a new approach using Imager and Mason to fit in with Mason sites. [Apr 1, 2004]
Find What You Want with Plucene
Plucene is a Perl port of the Java Lucene search-engine framework. In this article, we'll look at how to use Plucene to build a search engine to index a web site. [Feb 19, 2004]
Blosxoms, Bryars and Blikis
How to add a blog, wiki, or some combination of the two to almost anything. [Dec 18, 2003]
How to Avoid Writing Code
One of the most boring programming tasks in the world has to be pulling data out of a database and displaying it on a web site. Yet it's also one of the most ubiquitous. Kake Pugh shows us an easier way to do it, with Class::DBI and the Template Toolkit. [Jul 15, 2003]
Screen-scraping with WWW::Mechanize
Screen-scraping is the job of programmatically navigating through a usually visual task - like a web site - and then dealing with the result; and WWW::Mechanize is the best screen scraper out there for Perl! Chris Ball puts the two things together, to ensure that he never misses his favourite TV shows again... [Jan 22, 2003]
Embedding Web Servers
Web browsers are ubiquitous these days - it's hard to find a machine without one. To make use of a web browser, you need a web server, and they are simple enough to write that you can stick them almost anywhere. [Sep 18, 2002]
Create RSS channels from HTML news sites
Chris Ball shows us how to turn any ordinary news site into a Remote Site Summary web service. [Nov 15, 2001]
Building a Large-scale E-commerce Site with Apache and mod_perl
Bill Hilf and Perrin Harkins recount their experiences setting up an e-commerce site for eToys. If you've ever wanted to know what goes on under the hood in such a large-scale site - and how you can set up something like it for yourself - here's your chance to find out. [Oct 17, 2001]
Quick Start Guide with SOAP Part Two
Paul Kulchenko continues his SOAP::Lite guide and shows how to build more comples SOAP servers. [Apr 23, 2001]
Quick Start with SOAP
An introduction to SOAP::Lite, a module that provides simple yet flexible interface to SOAP, a popular XML-RPC protocol. Using SOAP::Lite, Perl scripts can access objects and execute procedures on remote servers, and also serve SOAP objects and procedures over the 'Net. [Jan 29, 2001]
Web Management
Bricolage Configuration Directives
Any serious application has a serious configuration file. The Bricolage content management system is no different. David Wheeler explains the various configuration options that can tune your site to your needs. [Jan 6, 2005]
Installing Bricolage
Though CPAN makes it possible to write large and powerful applications, distributing those applications can prove daunting. In the case of the Bricolage content management system, though, David Wheeler's installation guide here will walk you through the process. [Oct 28, 2004]
Content Management with Bricolage
David Wheeler presents an introduction to the Bricolage content management system (CMS). [Aug 27, 2004]
Web/CGI
Advanced HTML::Template: Widgets
HTML::Template is a templating module for HTML made powerful by its simplicity. Its minimal set of operations enforces a strict separation between presentation and logic. However, sometimes that minimalism makes templates unwieldy. Philipp Janert demonstrates how to reuse templates smaller than an entire page--and how this simplifies your applications. [Feb 1, 2007]
Advanced HTML::Template: Filters
HTML::Template is a templating module for HTML made powerful by its simplicity. Its minimal set of operations enforces a strict separation between presentation and logic. However, sometimes that minimalism makes templates unwieldy. Philipp Janert demonstrates how filters help you regain simplicity and separation of concerns. [Nov 30, 2006]
Rapid Website Development with CGI::Application
Perl has a wealth of good web frameworks. One of the season's toolkits, CGI::Application, has recently seen a bout of new development to make building web apps faster and much easier. Mark Stosberg demonstrates these new features and how to use them. [Oct 19, 2006]
FEAR-less Site Scraping
Many web programmers talk about "domain-specific languages" as if defining functions and methods were a new discovery. A real domain-specific language provides concise syntax and symatics for a particular purpose, such as Yung-chung Lin's FEAR::API. He explains how this toolkit allows you to scrape, modify, store, and re-present web data easily, effectively, and economically. [Jun 1, 2006]
Building E-Commerce Sites with Handel
Building web sites can be tedious--so many parts and pieces are all the same. Have you written enough form processors and shopping carts to last the rest of your life? Now you can get on with the real programming. Christopher H. Laco shows how to use Handel and Catalyst to build a working e-commerce site without actually writing any code. [Nov 17, 2005]
Win32
Painless Windows Module Installation with PPM
Unix and Unix-like systems often come with compilers and make utilities. Windows systems rarely do. Installing Perl modules on Windows can be somewhat difficult by hand. Fortunately, ActiveState's PPM utility takes away much of the pain, and it's highly customizable too. Josh Stroschein demonstrates how to install Perl modules with PPM and how to create your own repositories. [Jan 11, 2007]
Perl Success Story: Client-Side Collection and Reporting
Perl's a great server-side programming language. It's also good for developers and administrators. Where are the client-side uses? Recently, Jiann Wang and Hitachi GST had to solve a thorny software licensing reporting problem. They used Perl--distributing a small client program to each desktop--and solved their problem quickly, effectively, and elegantly. Here's how. [Dec 1, 2005]
Automated GUI Testing
Automation is the friend of testing. If you can drive your program with a script, you can test it. How does that work with GUIs, though? In the Windows world, one solution is the Win32::GuiTest module. George Nistorica demonstrates how to use it. [Aug 11, 2005]
Manipulating Word Documents with Perl
Unix hackers love their text editors for plain-text manipulatey goodness--especially Emacs and Vim with their wonderful extension languages (and sometimes Perl bindings). Don't fret, defenestrators-to-be. Andrew Savikas demonstrates how to use Perl for your string-wrangling when you have to suffer through using Word. [May 26, 2005]
Automating Windows Applications with Win32::OLE
Many Windows applications are surprisingly automable through OLE, COM, DCOM, et cetera. Even better, this automation works through Perl as well. Henry Wasserman walks through the process of discovering how to automate Internet Explorer components to automate web testing from Perl. [Apr 21, 2005]
Visual Perl
Most Perl programmers are die-hard command line freaks, but those coming to Perl on Windows may be used to a more graphical way to edit programs. We asked the lead developer of the new Visual Perl plugin for Microsoft Visual Studio to tell us the advantages of a graphical IDE. [Feb 6, 2002]
Building a Bridge to the Active Directory
Kelvin Param explains how Perl provides the glue between Microsoft's Active Directory and non-Windows clients. [Dec 19, 2001]
Microsoft to Fund Perl Development
ActiveState Tool Corp. has a new three-year agreement with Microsoft that funds new development of Perl for the Windows platform. [Jun 9, 1999]
A Zero Cost Solution
Creating a task tracking system for $0 in licensing fees, hardware, and software costs. [Nov 17, 1998]
XML
Don't Be Afraid to Drop the SOAP
Web services may be unfortunately trendy, but having a simple API for other people to use your application is very powerful and useful. Is SOAP the right way to go? Sam Tregar describes an alternate approach he's pulled from working the Bricolage and Krang APIs. [Sep 30, 2004]
An AxKit Image Gallery
Continuing our look at AxKit, Barrie demonstrates the use of AxKit on non-XML data: images and operating system calls. [Sep 24, 2002]
Taglib TMTOWTDI
Continuing our look at AxKit tag libraries, Barrie explains the use of SimpleTaglib and LogicSheets. [Jul 2, 2002]
XSP, Taglibs and Pipelines
In this month's AxKit article, Barrie explains what a "taglib" is, and how to use them to create dynamic pages inside of AxKit. [Apr 16, 2002]
Introducing AxKit
This is the first in the series of articles by Barrie Slaymaker on setting up and running AxKit. AxKit is a mod_perl application for dynamically transforming XML. In this first article, we focus on getting started with AxKit. [Mar 13, 2002]
MSXML, It's Not Just for VB Programmers Anymore
Shawn Ribordy puts the tech back into the MSXML parser by using Perl instead of Visual Basic. [Apr 17, 2001]
What every Perl programmer needs to know about .NET
A very brief explanation of Microsoft's .NET project and why it's interesting. [Dec 19, 2000]
RSS and You
RSS is an XML application that describes web sites as channels, which can act as feeds to a user's site. Chris Nandor explains how to use RSS in Perl and how he uses it to build portals. [Jan 25, 2000]
XML::Parser Module Enables XML Development in Perl
The new Perl module known as XML::Parser allows Perl programmers building applications to use XML, and provides an efficient, easy way to parse XML documents. [Nov 25, 1998]
Perl Support for XML Developing
O'Reilly & Associates hosted a recent Perl/XML summit to discuss ways that Perl can support the Extensible Markup Language (XML), a new language for defining document markup and data formats. [Mar 10, 1998]
Y2K
Y2K Compliance
Is someone asking you to ensure that your Perl code is Y2k compliant? Tom Christiansen gives you some answers, which may not completely please the bureaucrats. [Jan 3, 1999]