Template::Constants - Defines constants for the Template Toolkit


    use Template::Constants qw( :status :error :all );


The Template::Constants modules defines, and optionally exports into the caller's namespace, a number of constants used by the Template package.

Constants may be used by specifying the Template::Constants package explicitly:

    use Template::Constants;
    print Template::Constants::STATUS_DECLINED;

Constants may be imported into the caller's namespace by naming them as options to the use Template::Constants statement:

    use Template::Constants qw( STATUS_DECLINED );

Alternatively, one of the following tagset identifiers may be specified to import sets of constants: ':status', ':error', ':all'.

    use Template::Constants qw( :status );

Consult the documentation for the Exporter module for more information on exporting variables.


The following tag sets and associated constants are defined:

        STATUS_OK             # no problem, continue
        STATUS_RETURN         # ended current block then continue (ok)
        STATUS_STOP           # controlled stop (ok)
        STATUS_DONE           # iterator is all done (ok)
        STATUS_DECLINED       # provider declined to service request (ok)
        STATUS_ERROR          # general error condition (not ok)

        ERROR_RETURN          # return a status code (e.g. 'stop')
        ERROR_FILE            # file error: I/O, parse, recursion
        ERROR_UNDEF           # undefined variable value used
        ERROR_PERL            # error in [% PERL %] block
        ERROR_FILTER          # filter error
        ERROR_PLUGIN          # plugin error

    :chomp                  # for PRE_CHOMP and POST_CHOMP
        CHOMP_NONE            # do not remove whitespace
        CHOMP_ONE             # remove whitespace to newline
        CHOMP_ALL             # old name for CHOMP_ONE (deprecated)
        CHOMP_COLLAPSE        # collapse whitespace to a single space
        CHOMP_GREEDY          # remove all whitespace including newlines

        DEBUG_OFF             # do nothing
        DEBUG_ON              # basic debugging flag
        DEBUG_UNDEF           # throw undef on undefined variables
        DEBUG_VARS            # general variable debugging
        DEBUG_DIRS            # directive debugging
        DEBUG_STASH           # general stash debugging
        DEBUG_CONTEXT         # context debugging
        DEBUG_PARSER          # parser debugging
        DEBUG_PROVIDER        # provider debugging
        DEBUG_PLUGINS         # plugins debugging
        DEBUG_FILTERS         # filters debugging
        DEBUG_SERVICE         # context debugging
        DEBUG_ALL             # everything
        DEBUG_CALLER          # add caller file/line info
        DEBUG_FLAGS           # bitmap used internally

        All the above constants.


Andy Wardley <>


Copyright (C) 1996-2022 Andy Wardley. All Rights Reserved.

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


Template, Exporter