The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 1.23

  • ENHANCEMENTS
    • Lots of enhancements to the Apache.pm emulation when using the CGIHandler module. Implemented by David Wheeler.
    • The fact that autohandlers or dhandlers can be turned off by setting autohandler_name or dhandler_name to "" has now been documented, and we explicitly check for this in the code. Task id #499.
    • The ApacheHandler module now catches exceptions thrown from the Interp class's make_request method. With the default Mason Interp & Request classes, this will never happen. However, subclasses may want to throw exceptions when constructing a request. Implemented by David Wheeler.
  • BUG FIXES
    • If any code type parameters were set in the httpd.conf file, Mason died trying to read them. This bug was introduced in version 1.20. Task id #496. Reported by David Wheeler.
    • $m->caller, $m->callers and $m->caller_args now return undef or an empty list instead of crashing when the specified stack level does not exist. Task id #495. Reported by Bernhard Schmalhofer.
    • The busy_lock option to $m->cache->get did not accept did not accept string values for durations, like "4m". Task id #484. Reported by Igor Muratov.
    • When generating the HTML error message page, we now only use basic HTML escaping. This fixes two problems. One is that if HTML::Entities is not installed, using the "|h" escape flag in the error display component causes an endless loop. The other is that the "|h" flag can mangle non-Latin-1 characters. Task ids #497 and #494. Reported by Harmen and Oleg Bartunov respectively.
    • If a component generated output, then called another component via $m->scomp, and that other component attempted to clear the buffer and then abort, any output generated before the call to $m->scomp was still sent to the client. This broke calling $m->redirect inside an $m->scomp call. Task id #498. Reported by Kim Alexander Hansen.

Documentation

Mason Administrator's Manual
Mason Developer's Manual
Mason configuration parameters
Documentation on Subclassing Internal Mason classes

Modules

A bundle to install the HTML::Mason package
High-performance, dynamic web site authoring system
Mason/mod_perl interface
Objects for Handling Component Output
Use Mason in a CGI environment
Base cache object
Compile Mason component source
A Compiler subclass that generates Mason object code
Mason Component Class
Mason File-Based Component Class
Mason Subcomponent Class
represents information about an component
Functions to escape text for Mason
Exception objects thrown by Mason
An Apache object emulator for use with Mason
Mason Component Interpreter
Generates events based on component source lexing
Used to create simple get & get/set methods in other classes
Old module for compiling components
Mason Request Class
Component path resolver base class
Component path resolver for file-based components
a do-nothing resolver
Test harness for testing Mason
Function library used internally in Mason
Publically available functions useful outside of Mason

Provides

in lib/Apache/Mason.pm
in lib/HTML/Mason/Exceptions.pm
in lib/HTML/Mason/Exceptions.pm
in lib/HTML/Mason/Exceptions.pm
in lib/HTML/Mason/FakeApache.pm
in lib/HTML/Mason/FakeApache.pm
in lib/HTML/Mason/ApacheHandler.pm
in lib/HTML/Mason/CGIHandler.pm
in lib/HTML/Mason/ApacheHandler.pm
in lib/HTML/Mason/Request.pm