The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.


Mason - Powerful, high-performance templating for the web and beyond

    % my $name = "Mason";
    Hello world! Welcome to <% $name %>.

  use Mason;
  my $mason = Mason->new(comp_root => '...');
  print $mason->run('/foo')->output;


Mason is a powerful Perl-based templating system, designed to generate dynamic content of all kinds.

Unlike many templating systems, Mason does not attempt to invent an alternate, "easier" syntax for templates. It provides a set of syntax and features specific to template creation, but underneath it is still clearly and proudly recognizable as Perl.

Mason is most often used for generating web pages. It has a companion web framework, Poet, designed to take maximum advantage of its routing and content generation features. It can also be used as the templating layer for web frameworks such as Catalyst and Dancer.

All documentation is indexed at Mason::Manual.

The previous major version of Mason (1.x) is available under the name HTML::Mason.


The mailing list is You must be subscribed to send a message. To subscribe, visit

You can also visit us at #mason on irc://

Bugs and feature requests will be tracked at RT:

The latest source code can be browsed and fetched at:
    git clone git://

The official Mason website is, however it contains mostly information about Mason 1. We're not sure what the future of the website will be wrt Mason 2.


Thanks to Stevan Little and the Moose team for the awesomeness of Moose, which motivated me to create a second version of Mason years after I thought I was done.

Thanks to Tatsuhiko Miyagawa and the PSGI/Plack team, who freed me from ever worrying about server backends again.




Jonathan Swartz <>


This software is copyright (c) 2012 by Jonathan Swartz.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.