What is Perl used for?

Recently I was asked What is Perl used for?. I typed in the question in Google but I did not get a satisfactory answer. So I decided to spend some time wring up a list of fields and some example application just to end up pointing to 3 much better lists.

Web site and web application development

Perl is one of the major players in this field though it makes less noise than some of the other languages.

There are several modern frameworks for web applications development in Perl such as Catalyst, Jifty, Mojo and Titanium.

In addition many companies maintaining their own stack of libraries for writing their web application.

A couple of web applications that are written in Perl: Movable Type, Melody, WebGUI, LiveJournal, DreamWidth, The Internet Movie Database Ticketmaster and Booking.com. Just to name a few.

Test Automation

Perl has an extensive test framework and tools to test any application regardless of the language that was used for the application. Perl can be used to test Web applications, Databases, Networking devices, File systems and even desktop applications. Just to name a few.

Configuration Management

Perl has been packaged with ClearCase and is the most common language to create the customization level connecting the version control system, the build and packaging system with the testing system and the bug tracking system.

System Administration

One of the original goals of Perl was to unify and replace all the small tools available on Unix. Today every Unix or Linux system comes with perl and many of them depend on perl to do all the tasks related to system management.

e.g. SpamAssassin is one of the leading Spam filters.

Bioinformatics

I don't know much about bioinformatics but there is a wealth of information for people in the field on the Bioperl web site. You might wan to start with the article on How Perl saved human genome.

Desktop Application Development

Perl has less penetration in the Desktop application development market but there are at least three different toolkits to write cross-platform desktop applications. Perl/Tk, Gtk2 Perl, and wxPerl.

There are several open source applications in each one of the toolkits that you can see. e.g Zim, the desktop wiki is written in Gtk2 Perl while Padre, the Perl IDE is written using wxPerl.

Remedie is a media player written in Perl. It is a desktop application that runs in a browser.

Game Development

The original Frozen Bubble is probably the most well known game written in Perl. It is using the SDL Perl framework that recently saw a surge of new development.

More fields and applications

There are many more applications listed on Perl Foundation wiki, on Perl.net.au wiki and Perl software on Wikipedia

See also the recent blog entry about Applications for Normal Users

Conclusion

Perl is used in many fields, some that were mentioned here and some that were not. If you think there are other fields that could be mentioned here, please let me know.