Mason (Perl)

Last updated
Mason
Final release
2.24 / May 16, 2015;5 years ago (2015-05-16) [1]
Written in Perl
Operating system Cross-platform
Type Web application framework
License GNU General Public License, Artistic License
Website search.cpan.org/~jswartz/Mason-2.24/

HTML::Mason, or Mason for short, is a web application framework written in Perl. It is distributed on CPAN.

Contents

It has features which make it a suitable backend for high-load sites serving dynamic content, such as online newspapers or database-driven e-commerce sites. Several popular web sites including Amazon.com [2] and Delicious [3] are or were powered by Mason. An extensive list of sites using Mason can be found at Mason HQ.

The general style of Mason is similar to StoryServer or even PHP, but Mason uses Perl as its control language, and as such can use almost any CPAN module.

Mason can be used with Apache HTTP Server via mod_perl – for which Mason provides its own handler, HTML::Mason::ApacheHandler. It also has support for Common Gateway Interface (CGI), and can therefore run on any CGI-enabled web server.

See also

Related Research Articles

The Comprehensive Perl Archive Network (CPAN) is a repository of over 250,000 software modules and accompanying documentation for 39,000 distributions, written in the Perl programming language by over 12,000 contributors. CPAN can denote either the archive network or the Perl program that acts as an interface to the network and as an automated software installer. Most software on CPAN is free and open source software.

In computing, Common Gateway Interface (CGI) is an interface specification that enables web servers to execute an external program, typically to process user requests.

Server-side scripting is a technique used in web development which involves employing scripts on a web server which produce a response customised for each user's (client's) request to the website. The alternative is for the web server itself to deliver a static web page. Scripts can be written in any of a number of server-side scripting languages that are available. Server-side scripting is distinguished from client-side scripting where embedded scripts, such as JavaScript, are run client-side in a web browser, but both techniques are often used together.

mod_perl is an optional module for the Apache HTTP server. It embeds a Perl interpreter into the Apache server. In addition to allowing Apache modules to be written in the Perl programming language, it allows the Apache web server to be dynamically configured by Perl programs. However, its most common use is so that dynamic content produced by Perl scripts can be served in response to incoming requests, without the significant overhead of re-launching the Perl interpreter for each request.

WebGUI Open-source content management system

WebGUI is an open-source content management system written in Perl and released under the GNU General Public License.

The Perl Object Environment or POE is a library of Perl modules written in the Perl programming language by Rocco Caputo et al.

LAMP (software bundle) Software bundle

LAMP is a very common example of a web service stack, named as an acronym of the names of its original four open-source components: the Linux operating system, the Apache HTTP Server, the MySQL relational database management system (RDBMS), and the PHP programming language. The LAMP components are largely interchangeable and not limited to the original selection. As a solution stack, LAMP is suitable for building dynamic web sites and web applications.

Catalyst (software)

Catalyst is an open source web application framework written in Perl, that closely follows the model–view–controller (MVC) architecture, and supports a number of experimental web patterns. It is written using Moose, a modern object system for Perl. Its design is heavily inspired by such frameworks as Ruby on Rails, Maypole, and Spring.

A webform, web form or HTML form on a web page allows a user to enter data that is sent to a server for processing. Forms can resemble paper or database forms because web users fill out the forms using checkboxes, radio buttons, or text fields. For example, forms can be used to enter shipping or credit card data to order a product, or can be used to retrieve search results from a search engine.

The Template Toolkit (TT) is a template engine used primarily for building web sites, but is also suitable for creating any type of digital document, such as a PDF or LaTeX file. Template Toolkit is based on a mini-language and does not allow direct Perl in its templates by default, unlike some competing products. This forces developers to separate business logic into Perl libraries, leaving only presentation logic in their templates. It is written in Perl, with some popular accessories in C. It is released under a free software licence.

ActivePerl is a distribution of Perl from ActiveState for Windows, macOS, Linux, Solaris, AIX and HP-UX.

Sean Michael Burke is a Perl programmer, author, and linguist. He was a columnist for The Perl Journal from 1998 and has written several dozen Perl modules for CPAN, as well as books for O'Reilly Media.

Bricolage (software)

Bricolage is a content management system (CMS) written in the Perl programming language.

CGIProxy is, as its name suggests, a CGI proxy software package. A CGI proxy appears to a user as a web page that allows the user to access a different site through it, in most cases anonymously. An anonymous CGI Proxy is a type of proxy server that works through an encrypted web form embedded on another web page hosted securely using SSL, also often called a "Web proxy".

Plack (software)

Plack is a Perl web application programming framework inspired by Rack for Ruby and WSGI for Python, and it is the project behind the PSGI specification used by other frameworks such as Catalyst and Dancer. Plack allows for testing of Perl web applications without a live web server.

Dancer is an open source lightweight web application framework written in Perl and inspired by Ruby's Sinatra.

FastCGI is a binary protocol for interfacing interactive programs with a web server. It is a variation on the earlier Common Gateway Interface (CGI). FastCGI's main aim is to reduce the overhead related to interfacing between web server and CGI programs, allowing a server to handle more web page requests per unit of time.

Mojolicious is a real-time web application framework, written by Sebastian Riedel, creator of the web application framework Catalyst. Licensed as free software under the Artistic License v 2.0, it is written in the Perl programming language, and is designed for use in both simple and complex web applications, based on Riedel's previous experience developing Catalyst. Documentation for the framework was partly funded by a grant from The Perl Foundation.

The following outline is provided as an overview of and topical guide to the Perl programming language:

Apache MXNet is an open-source deep learning software framework, used to train, and deploy deep neural networks. It is scalable, allowing for fast model training, and supports a flexible programming model and multiple programming languages

References

  1. "Jonathan Swartz". CPAN . Retrieved 2016-03-16.
  2. Mason HQ: AmazonDotCom
  3. Rands In Repose: A Del.icio.us Interview Archived 2007-02-13 at the Wayback Machine