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


Template::Plugin::PerlTidy - Perl::Tidy filter for Template Toolkit


 # HTML Syntax Coloring, no reformatting

 [% USE PerlTidy 'html' 'nnn' 'pre' %]
 [% FILTER $PerlTidy %]
   #!/usr/bin/perl -w
   use strict;
   for(1,3,5){print" $_\n"}my     %hash =( 1=>'foo',foo=>'bar',);
 [% END %]

 # Chained filter, code reformatting and syntax coloring

 [%- USE PerlTidy -%]
 [%- FILTER $PerlTidy 'html' 'nnn' -%]
    [%- FILTER $PerlTidy i=10 -%]
       ... perl code goes here ... 
    [%- END -%]
 [%- END -%]


This modules is a Template Toolkit Filter for Perl::Tidy. It can be used to automatically display coloured and formatted perl code in web pages.


All the options available in perltidy should be also available in this plugin.

The options defined in Perl::Tidy::perltidy() are also supported (stderr, perltidyrc, logfile, errorfile). The source and <destination> options are handled by the filter.

By default, the quiet option is turned on, but you can disable it using the verbose option.

Note that options which does not take any arguments (like -html or -pre) should be enclosed in quotes (i.e. [% USE PerlTidy 'html' %]), and options which take an argument are not enclosed in quotes (i.e. [% USE PerlTidy i=8 %]).


Please report any bugs or comments using the Request Tracker interface:


Briac Pilpré <>

Thanks to Steve Hancock for PerlTidy

Thanks to BooK and echo for their help.


This module is distributed under the same terms as perl itself.


Template::Plugin::Filter, Perl::Tidy

1 POD Error

The following errors were encountered while parsing the POD:

Around line 119:

Non-ASCII character seen before =encoding in 'Pilpré'. Assuming CP1252