Puma
A b o u t   P u m a
SourceForge.net Logo

About Puma

Every good work of software starts by scratching a developer's personal itch
Eric S. Raymond - The Cathedral and The Bazaar

Puma is a series of Perl libraries that started out of a frustration with the ugliness of Microsoft's ASP/VBScript and the hugely complex JSP/EJB/J2EE model.
I wanted a simple, extensible, object-oriented system that used an industry standard language to generate dynamic content for web pages. There were some solutions out there like HTML::Mason and Apache::ASP, but I'm not one to leave well enough alone - so I wrote my own!
That was the birth of Puma.

The name "Puma" was coined by Anthony Tippett (a co-worker at one of the companies I worked at) and doesn't actually stand for anything. We just decided that it sounded cool!
Eventually we decided that stood for, "Perl Universal Markup" and that described the package well. Puma is not only an application server, but an entire series of libraries built around the ability to parse and process markup languages.

Puma presently consists of the following:

  • Puma::ServerPages - A web-based dynamic content generation system similar to Microsoft's ASP/VBScript and Sun's JSP/EJB/J2EE
  • Puma::Util::XML - A light-weight XML parsing and processing system
  • Puma::Util - A series of stand-alone utilities for file and filesystem processing, sending e-mail, data conversion, output buffering, case insensitive hashes and more.
  • Puma::Socket - Client/Server libraries for socket (TCP/IP) communications.

Some of the components listed above are still under development, and many more things are planned.