usr
/
local
/
lib64
/
perl5
/
Template
/
Go to Home Directory
+
Upload
Create File
root@0UT1S:~$
Execute
By Order of Mr.0UT1S
[DIR] ..
N/A
[DIR] Manual
N/A
[DIR] Namespace
N/A
[DIR] Plugin
N/A
[DIR] Stash
N/A
[DIR] Tools
N/A
[DIR] Tutorial
N/A
Base.pm
7.35 KB
Rename
Delete
Config.pm
13.38 KB
Rename
Delete
Constants.pm
9.39 KB
Rename
Delete
Context.pm
51.18 KB
Rename
Delete
Directive.pm
28.80 KB
Rename
Delete
Document.pm
15.98 KB
Rename
Delete
Exception.pm
6.22 KB
Rename
Delete
FAQ.pod
8.62 KB
Rename
Delete
Filters.pm
24.42 KB
Rename
Delete
Grammar.pm
96.52 KB
Rename
Delete
Iterator.pm
13.15 KB
Rename
Delete
Manual.pod
2.37 KB
Rename
Delete
Modules.pod
5.37 KB
Rename
Delete
Parser.pm
39.68 KB
Rename
Delete
Plugin.pm
8.74 KB
Rename
Delete
Plugins.pm
13.76 KB
Rename
Delete
Provider.pm
45.43 KB
Rename
Delete
Service.pm
17.29 KB
Rename
Delete
Stash.pm
28.15 KB
Rename
Delete
Test.pm
21.64 KB
Rename
Delete
Toolkit.pm
5.59 KB
Rename
Delete
Tools.pod
1.49 KB
Rename
Delete
Tutorial.pod
1.02 KB
Rename
Delete
VMethods.pm
15.30 KB
Rename
Delete
View.pm
23.45 KB
Rename
Delete
#============================================================= -*-Perl-*- # # Template::Constants.pm # # DESCRIPTION # Definition of constants for the Template Toolkit. # # AUTHOR # Andy Wardley <abw@wardley.org> # # COPYRIGHT # 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. # #============================================================================ package Template::Constants; require Exporter; use strict; use warnings; use Exporter; use base qw( Exporter ); our ( @EXPORT_OK, %EXPORT_TAGS ); our ( $DEBUG_OPTIONS, @STATUS, @ERROR, @CHOMP, @DEBUG, @ISA ); our $VERSION = '3.100'; #======================================================================== # ----- EXPORTER ----- #======================================================================== # STATUS constants returned by directives use constant STATUS_OK => 0; # ok use constant STATUS_RETURN => 1; # ok, block ended by RETURN use constant STATUS_STOP => 2; # ok, stopped by STOP use constant STATUS_DONE => 3; # ok, iterator done use constant STATUS_DECLINED => 4; # ok, declined to service request use constant STATUS_ERROR => 255; # error condition # ERROR constants for indicating exception types use constant ERROR_RETURN => 'return'; # return a status code use constant ERROR_FILE => 'file'; # file error: I/O, parse, recursion use constant ERROR_VIEW => 'view'; # view error use constant ERROR_UNDEF => 'undef'; # undefined variable value used use constant ERROR_PERL => 'perl'; # error in [% PERL %] block use constant ERROR_FILTER => 'filter'; # filter error use constant ERROR_PLUGIN => 'plugin'; # plugin error # CHOMP constants for PRE_CHOMP and POST_CHOMP use constant CHOMP_NONE => 0; # do not remove whitespace use constant CHOMP_ALL => 1; # remove whitespace up to newline use constant CHOMP_ONE => 1; # new name for CHOMP_ALL use constant CHOMP_COLLAPSE => 2; # collapse whitespace to a single space use constant CHOMP_GREEDY => 3; # remove all whitespace including newlines # DEBUG constants to enable various debugging options use constant DEBUG_OFF => 0; # do nothing use constant DEBUG_ON => 1; # basic debugging flag use constant DEBUG_UNDEF => 2; # throw undef on undefined variables use constant DEBUG_VARS => 4; # general variable debugging use constant DEBUG_DIRS => 8; # directive debugging use constant DEBUG_STASH => 16; # general stash debugging use constant DEBUG_CONTEXT => 32; # context debugging use constant DEBUG_PARSER => 64; # parser debugging use constant DEBUG_PROVIDER => 128; # provider debugging use constant DEBUG_PLUGINS => 256; # plugins debugging use constant DEBUG_FILTERS => 512; # filters debugging use constant DEBUG_SERVICE => 1024; # context debugging use constant DEBUG_ALL => 2047; # everything # extra debugging flags use constant DEBUG_CALLER => 4096; # add caller file/line use constant DEBUG_FLAGS => 4096; # bitmask to extract flags $DEBUG_OPTIONS = { &DEBUG_OFF => off => off => &DEBUG_OFF, &DEBUG_ON => on => on => &DEBUG_ON, &DEBUG_UNDEF => undef => undef => &DEBUG_UNDEF, &DEBUG_VARS => vars => vars => &DEBUG_VARS, &DEBUG_DIRS => dirs => dirs => &DEBUG_DIRS, &DEBUG_STASH => stash => stash => &DEBUG_STASH, &DEBUG_CONTEXT => context => context => &DEBUG_CONTEXT, &DEBUG_PARSER => parser => parser => &DEBUG_PARSER, &DEBUG_PROVIDER => provider => provider => &DEBUG_PROVIDER, &DEBUG_PLUGINS => plugins => plugins => &DEBUG_PLUGINS, &DEBUG_FILTERS => filters => filters => &DEBUG_FILTERS, &DEBUG_SERVICE => service => service => &DEBUG_SERVICE, &DEBUG_ALL => all => all => &DEBUG_ALL, &DEBUG_CALLER => caller => caller => &DEBUG_CALLER, }; @STATUS = qw( STATUS_OK STATUS_RETURN STATUS_STOP STATUS_DONE STATUS_DECLINED STATUS_ERROR ); @ERROR = qw( ERROR_FILE ERROR_VIEW ERROR_UNDEF ERROR_PERL ERROR_RETURN ERROR_FILTER ERROR_PLUGIN ); @CHOMP = qw( CHOMP_NONE CHOMP_ALL CHOMP_ONE CHOMP_COLLAPSE CHOMP_GREEDY ); @DEBUG = qw( DEBUG_OFF DEBUG_ON DEBUG_UNDEF DEBUG_VARS DEBUG_DIRS DEBUG_STASH DEBUG_CONTEXT DEBUG_PARSER DEBUG_PROVIDER DEBUG_PLUGINS DEBUG_FILTERS DEBUG_SERVICE DEBUG_ALL DEBUG_CALLER DEBUG_FLAGS ); @EXPORT_OK = ( @STATUS, @ERROR, @CHOMP, @DEBUG ); %EXPORT_TAGS = ( 'all' => [ @EXPORT_OK ], 'status' => [ @STATUS ], 'error' => [ @ERROR ], 'chomp' => [ @CHOMP ], 'debug' => [ @DEBUG ], ); sub debug_flags { my ($self, $debug) = @_; my (@flags, $flag, $value); $debug = $self unless defined($debug) || ref($self); if ( $debug !~ tr{0-9}{}c) { foreach $flag (@DEBUG) { next if $flag eq 'DEBUG_OFF' || $flag eq 'DEBUG_ALL' || $flag eq 'DEBUG_FLAGS'; # don't trash the original substr($flag,0,6,'') if index($flag,'DEBUG_') == 0; $flag = lc $flag; return $self->error("no value for flag: $flag") unless defined($value = $DEBUG_OPTIONS->{ $flag }); $flag = $value; if ($debug & $flag) { $value = $DEBUG_OPTIONS->{ $flag }; return $self->error("no value for flag: $flag") unless defined $value; push(@flags, $value); } } return wantarray ? @flags : join(', ', @flags); } else { @flags = split(/\W+/, $debug); $debug = 0; foreach $flag (@flags) { $value = $DEBUG_OPTIONS->{ $flag }; return $self->error("unknown debug flag: $flag") unless defined $value; $debug |= $value; } return $debug; } } 1; __END__ =head1 NAME Template::Constants - Defines constants for the Template Toolkit =head1 SYNOPSIS use Template::Constants qw( :status :error :all ); =head1 DESCRIPTION The C<Template::Constants> modules defines, and optionally exports into the caller's namespace, a number of constants used by the L<Template> package. Constants may be used by specifying the C<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 C<use Template::Constants> statement: use Template::Constants qw( STATUS_DECLINED ); print STATUS_DECLINED; Alternatively, one of the following tagset identifiers may be specified to import sets of constants: 'C<:status>', 'C<:error>', 'C<:all>'. use Template::Constants qw( :status ); print STATUS_DECLINED; Consult the documentation for the C<Exporter> module for more information on exporting variables. =head1 EXPORTABLE TAG SETS The following tag sets and associated constants are defined: :status 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 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 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 All the above constants. =head1 AUTHOR Andy Wardley E<lt>abw@wardley.orgE<gt> L<http://wardley.org/> =head1 COPYRIGHT 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. =head1 SEE ALSO L<Template>, C<Exporter> =cut # Local Variables: # mode: perl # perl-indent-level: 4 # indent-tabs-mode: nil # End: # # vim: expandtab shiftwidth=4:
Save