Paradigms for CGI application development? mrjcleaver at
Mon Nov 11 03:52:48 CST 2002

> -----Original Message-----
> From: Michael Stillwell [mailto:mjs at] 
> Sent: Wednesday, 6 November 2002 12:09 AM
> To: melbourne-pm at
> Subject: Paradigms for CGI application development?
> Good CGI discussion this week!
> I've been thinking recently about some of the more crapful
> aspects of 
> CGI application development.  

I think Mason ( addresses these sorts of
needs. I believe it provides a cross between Php scripting for
perl and some features that would normally be found in an
Application Server.

Features: ( :)

Simple embedded Perl syntax. Infuse your HTML pages with the full
power of Perl: variables, arrays and data structures,
conditionals, iteration, and the wide variety of freely available
Perl modules. (Docs)

Modular pages with components. Build pages from components that
call one another and pass values back and forth like subroutines.
Encapsulate common design elements (headers, footers, menus,
logos) into shared components that need only change once to
affect the whole site.

Parameter handling. Access GET/POST parameters directly as
lexical ("my") variables. Assign default values or trigger error
conditions when parameters are omitted. (Docs)

Templates and filters. Assign a common template, filter, or piece
of code to an entire site (or a particular section) with a single
well-placed file. (Docs)

Object-oriented techniques. Define your own methods and
attributes on pages; access them from templates for increased
flexibility. (Docs)

Caching. Cache HTML and data, from small page elements to entire
pages or complex data structures. Automatically expire elements
after a certain time period or when a certain condition occurs.

Previewing. Using the built-in previewer application, review your
page under a variety of client and request conditions: browser
type, time of day, referer, etc. View a page trace with a
breakdown of which component is responsible for each piece of
HTML. (Docs)

Staging/production modes. Adjust configuration settings to
maximize ease of development on a staging server and raw
performance on a live server. (Docs)

I first looked at Mason for TWiki, but retrofitting looks like
quite a lot of work. See also

Cheers, Martin.

(I'll be in studying Melbourne from January..)

Martin at (please don't reply to @yahoo)

Do You Yahoo!?
Everything you'll ever need on one web page
from News and Sport to Email and Music Charts

More information about the Melbourne-pm mailing list