← Index
NYTProf Performance Profile   « line view »
For rbm/rbm
  Run on Wed Feb 12 20:36:06 2020
Reported on Wed Feb 12 21:42:25 2020

Filename/usr/lib/x86_64-linux-gnu/perl5/5.28/Template/Constants.pm
StatementsExecuted 87 statements in 1.50ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
37538922584ms584msTemplate::Constants::::DEBUG_UNDEFTemplate::Constants::DEBUG_UNDEF (xsub)
11114µs36µsTemplate::Constants::::BEGIN@69Template::Constants::BEGIN@69
1119µs31µsTemplate::Constants::::BEGIN@42Template::Constants::BEGIN@42
1119µs10µsTemplate::Constants::::BEGIN@22Template::Constants::BEGIN@22
1116µs38µsTemplate::Constants::::BEGIN@27Template::Constants::BEGIN@27
1115µs27µsTemplate::Constants::::BEGIN@54Template::Constants::BEGIN@54
1115µs27µsTemplate::Constants::::BEGIN@68Template::Constants::BEGIN@68
1115µs26µsTemplate::Constants::::BEGIN@70Template::Constants::BEGIN@70
1115µs33µsTemplate::Constants::::BEGIN@40Template::Constants::BEGIN@40
1115µs26µsTemplate::Constants::::BEGIN@49Template::Constants::BEGIN@49
1115µs20µsTemplate::Constants::::BEGIN@24Template::Constants::BEGIN@24
1115µs33µsTemplate::Constants::::BEGIN@73Template::Constants::BEGIN@73
1115µs24µsTemplate::Constants::::BEGIN@44Template::Constants::BEGIN@44
1115µs28µsTemplate::Constants::::BEGIN@45Template::Constants::BEGIN@45
1115µs26µsTemplate::Constants::::BEGIN@51Template::Constants::BEGIN@51
1114µs16µsTemplate::Constants::::BEGIN@23Template::Constants::BEGIN@23
1114µs25µsTemplate::Constants::::BEGIN@58Template::Constants::BEGIN@58
1114µs24µsTemplate::Constants::::BEGIN@72Template::Constants::BEGIN@72
1114µs49µsTemplate::Constants::::BEGIN@28Template::Constants::BEGIN@28
1114µs26µsTemplate::Constants::::BEGIN@41Template::Constants::BEGIN@41
1114µs25µsTemplate::Constants::::BEGIN@48Template::Constants::BEGIN@48
1114µs26µsTemplate::Constants::::BEGIN@50Template::Constants::BEGIN@50
1114µs27µsTemplate::Constants::::BEGIN@64Template::Constants::BEGIN@64
1114µs24µsTemplate::Constants::::BEGIN@71Template::Constants::BEGIN@71
1114µs24µsTemplate::Constants::::BEGIN@75Template::Constants::BEGIN@75
1114µs24µsTemplate::Constants::::BEGIN@80Template::Constants::BEGIN@80
1114µs25µsTemplate::Constants::::BEGIN@52Template::Constants::BEGIN@52
1114µs24µsTemplate::Constants::::BEGIN@60Template::Constants::BEGIN@60
1114µs25µsTemplate::Constants::::BEGIN@43Template::Constants::BEGIN@43
1114µs24µsTemplate::Constants::::BEGIN@57Template::Constants::BEGIN@57
1114µs23µsTemplate::Constants::::BEGIN@61Template::Constants::BEGIN@61
1114µs24µsTemplate::Constants::::BEGIN@66Template::Constants::BEGIN@66
1114µs24µsTemplate::Constants::::BEGIN@79Template::Constants::BEGIN@79
1114µs24µsTemplate::Constants::::BEGIN@65Template::Constants::BEGIN@65
1114µs25µsTemplate::Constants::::BEGIN@53Template::Constants::BEGIN@53
1114µs26µsTemplate::Constants::::BEGIN@59Template::Constants::BEGIN@59
1114µs27µsTemplate::Constants::::BEGIN@67Template::Constants::BEGIN@67
1114µs27µsTemplate::Constants::::BEGIN@74Template::Constants::BEGIN@74
1114µs23µsTemplate::Constants::::BEGIN@76Template::Constants::BEGIN@76
2111µs1µsTemplate::Constants::::DEBUG_OFFTemplate::Constants::DEBUG_OFF (xsub)
211800ns800nsTemplate::Constants::::DEBUG_ALLTemplate::Constants::DEBUG_ALL (xsub)
211800ns800nsTemplate::Constants::::DEBUG_PARSERTemplate::Constants::DEBUG_PARSER (xsub)
211600ns600nsTemplate::Constants::::DEBUG_CALLERTemplate::Constants::DEBUG_CALLER (xsub)
211400ns400nsTemplate::Constants::::DEBUG_CONTEXTTemplate::Constants::DEBUG_CONTEXT (xsub)
211400ns400nsTemplate::Constants::::DEBUG_DIRSTemplate::Constants::DEBUG_DIRS (xsub)
211400ns400nsTemplate::Constants::::DEBUG_FILTERSTemplate::Constants::DEBUG_FILTERS (xsub)
211400ns400nsTemplate::Constants::::DEBUG_ONTemplate::Constants::DEBUG_ON (xsub)
211400ns400nsTemplate::Constants::::DEBUG_PLUGINSTemplate::Constants::DEBUG_PLUGINS (xsub)
211400ns400nsTemplate::Constants::::DEBUG_PROVIDERTemplate::Constants::DEBUG_PROVIDER (xsub)
211400ns400nsTemplate::Constants::::DEBUG_SERVICETemplate::Constants::DEBUG_SERVICE (xsub)
211400ns400nsTemplate::Constants::::DEBUG_STASHTemplate::Constants::DEBUG_STASH (xsub)
211400ns400nsTemplate::Constants::::DEBUG_VARSTemplate::Constants::DEBUG_VARS (xsub)
0000s0sTemplate::Constants::::debug_flagsTemplate::Constants::debug_flags
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1#============================================================= -*-Perl-*-
2#
3# Template::Constants.pm
4#
5# DESCRIPTION
6# Definition of constants for the Template Toolkit.
7#
8# AUTHOR
9# Andy Wardley <abw@wardley.org>
10#
11# COPYRIGHT
12# Copyright (C) 1996-2007 Andy Wardley. All Rights Reserved.
13#
14# This module is free software; you can redistribute it and/or
15# modify it under the same terms as Perl itself.
16#
17#============================================================================
18
19package Template::Constants;
20
211400nsrequire Exporter;
22217µs212µs
# spent 10µs (9+2) within Template::Constants::BEGIN@22 which was called: # once (9µs+2µs) by Template::Base::BEGIN@24 at line 22
use strict;
# spent 10µs making 1 call to Template::Constants::BEGIN@22 # spent 2µs making 1 call to strict::import
23216µs227µs
# spent 16µs (4+11) within Template::Constants::BEGIN@23 which was called: # once (4µs+11µs) by Template::Base::BEGIN@24 at line 23
use warnings;
# spent 16µs making 1 call to Template::Constants::BEGIN@23 # spent 11µs making 1 call to warnings::import
24224µs236µs
# spent 20µs (5+16) within Template::Constants::BEGIN@24 which was called: # once (5µs+16µs) by Template::Base::BEGIN@24 at line 24
use Exporter;
# spent 20µs making 1 call to Template::Constants::BEGIN@24 # spent 16µs making 1 call to Exporter::import
25# Perl::MinimumVersion seems to think this is a Perl 5.008ism...
26# use base qw( Exporter );
27225µs270µs
# spent 38µs (6+32) within Template::Constants::BEGIN@27 which was called: # once (6µs+32µs) by Template::Base::BEGIN@24 at line 27
use vars qw( @EXPORT_OK %EXPORT_TAGS );
# spent 38µs making 1 call to Template::Constants::BEGIN@27 # spent 32µs making 1 call to vars::import
28244µs293µs
# spent 49µs (4+44) within Template::Constants::BEGIN@28 which was called: # once (4µs+44µs) by Template::Base::BEGIN@24 at line 28
use vars qw( $DEBUG_OPTIONS @STATUS @ERROR @CHOMP @DEBUG @ISA );
# spent 49µs making 1 call to Template::Constants::BEGIN@28 # spent 44µs making 1 call to vars::import
29# ... so we'll do it the Old Skool way just to keep it quiet
3018µs@ISA = qw( Exporter );
31
321200nsour $VERSION = 2.75;
33
34
35#========================================================================
36# ----- EXPORTER -----
37#========================================================================
38
39# STATUS constants returned by directives
40222µs262µs
# spent 33µs (5+28) within Template::Constants::BEGIN@40 which was called: # once (5µs+28µs) by Template::Base::BEGIN@24 at line 40
use constant STATUS_OK => 0; # ok
# spent 33µs making 1 call to Template::Constants::BEGIN@40 # spent 28µs making 1 call to constant::import
41220µs247µs
# spent 26µs (4+21) within Template::Constants::BEGIN@41 which was called: # once (4µs+21µs) by Template::Base::BEGIN@24 at line 41
use constant STATUS_RETURN => 1; # ok, block ended by RETURN
# spent 26µs making 1 call to Template::Constants::BEGIN@41 # spent 21µs making 1 call to constant::import
42223µs253µs
# spent 31µs (9+22) within Template::Constants::BEGIN@42 which was called: # once (9µs+22µs) by Template::Base::BEGIN@24 at line 42
use constant STATUS_STOP => 2; # ok, stopped by STOP
# spent 31µs making 1 call to Template::Constants::BEGIN@42 # spent 22µs making 1 call to constant::import
43220µs246µs
# spent 25µs (4+21) within Template::Constants::BEGIN@43 which was called: # once (4µs+21µs) by Template::Base::BEGIN@24 at line 43
use constant STATUS_DONE => 3; # ok, iterator done
# spent 25µs making 1 call to Template::Constants::BEGIN@43 # spent 21µs making 1 call to constant::import
44219µs244µs
# spent 24µs (5+20) within Template::Constants::BEGIN@44 which was called: # once (5µs+20µs) by Template::Base::BEGIN@24 at line 44
use constant STATUS_DECLINED => 4; # ok, declined to service request
# spent 24µs making 1 call to Template::Constants::BEGIN@44 # spent 20µs making 1 call to constant::import
45225µs250µs
# spent 28µs (5+23) within Template::Constants::BEGIN@45 which was called: # once (5µs+23µs) by Template::Base::BEGIN@24 at line 45
use constant STATUS_ERROR => 255; # error condition
# spent 28µs making 1 call to Template::Constants::BEGIN@45 # spent 23µs making 1 call to constant::import
46
47# ERROR constants for indicating exception types
48221µs246µs
# spent 25µs (4+21) within Template::Constants::BEGIN@48 which was called: # once (4µs+21µs) by Template::Base::BEGIN@24 at line 48
use constant ERROR_RETURN => 'return'; # return a status code
# spent 25µs making 1 call to Template::Constants::BEGIN@48 # spent 21µs making 1 call to constant::import
49220µs247µs
# spent 26µs (5+21) within Template::Constants::BEGIN@49 which was called: # once (5µs+21µs) by Template::Base::BEGIN@24 at line 49
use constant ERROR_FILE => 'file'; # file error: I/O, parse, recursion
# spent 26µs making 1 call to Template::Constants::BEGIN@49 # spent 21µs making 1 call to constant::import
50233µs248µs
# spent 26µs (4+22) within Template::Constants::BEGIN@50 which was called: # once (4µs+22µs) by Template::Base::BEGIN@24 at line 50
use constant ERROR_VIEW => 'view'; # view error
# spent 26µs making 1 call to Template::Constants::BEGIN@50 # spent 22µs making 1 call to constant::import
51227µs247µs
# spent 26µs (5+21) within Template::Constants::BEGIN@51 which was called: # once (5µs+21µs) by Template::Base::BEGIN@24 at line 51
use constant ERROR_UNDEF => 'undef'; # undefined variable value used
# spent 26µs making 1 call to Template::Constants::BEGIN@51 # spent 21µs making 1 call to constant::import
52219µs245µs
# spent 25µs (4+20) within Template::Constants::BEGIN@52 which was called: # once (4µs+20µs) by Template::Base::BEGIN@24 at line 52
use constant ERROR_PERL => 'perl'; # error in [% PERL %] block
# spent 25µs making 1 call to Template::Constants::BEGIN@52 # spent 20µs making 1 call to constant::import
53219µs245µs
# spent 25µs (4+21) within Template::Constants::BEGIN@53 which was called: # once (4µs+21µs) by Template::Base::BEGIN@24 at line 53
use constant ERROR_FILTER => 'filter'; # filter error
# spent 25µs making 1 call to Template::Constants::BEGIN@53 # spent 21µs making 1 call to constant::import
54220µs248µs
# spent 27µs (5+21) within Template::Constants::BEGIN@54 which was called: # once (5µs+21µs) by Template::Base::BEGIN@24 at line 54
use constant ERROR_PLUGIN => 'plugin'; # plugin error
# spent 27µs making 1 call to Template::Constants::BEGIN@54 # spent 21µs making 1 call to constant::import
55
56# CHOMP constants for PRE_CHOMP and POST_CHOMP
57222µs243µs
# spent 24µs (4+20) within Template::Constants::BEGIN@57 which was called: # once (4µs+20µs) by Template::Base::BEGIN@24 at line 57
use constant CHOMP_NONE => 0; # do not remove whitespace
# spent 24µs making 1 call to Template::Constants::BEGIN@57 # spent 20µs making 1 call to constant::import
58220µs245µs
# spent 25µs (4+20) within Template::Constants::BEGIN@58 which was called: # once (4µs+20µs) by Template::Base::BEGIN@24 at line 58
use constant CHOMP_ALL => 1; # remove whitespace up to newline
# spent 25µs making 1 call to Template::Constants::BEGIN@58 # spent 20µs making 1 call to constant::import
59220µs249µs
# spent 26µs (4+22) within Template::Constants::BEGIN@59 which was called: # once (4µs+22µs) by Template::Base::BEGIN@24 at line 59
use constant CHOMP_ONE => 1; # new name for CHOMP_ALL
# spent 26µs making 1 call to Template::Constants::BEGIN@59 # spent 22µs making 1 call to constant::import
60218µs244µs
# spent 24µs (4+20) within Template::Constants::BEGIN@60 which was called: # once (4µs+20µs) by Template::Base::BEGIN@24 at line 60
use constant CHOMP_COLLAPSE => 2; # collapse whitespace to a single space
# spent 24µs making 1 call to Template::Constants::BEGIN@60 # spent 20µs making 1 call to constant::import
61220µs243µs
# spent 23µs (4+19) within Template::Constants::BEGIN@61 which was called: # once (4µs+19µs) by Template::Base::BEGIN@24 at line 61
use constant CHOMP_GREEDY => 3; # remove all whitespace including newlines
# spent 23µs making 1 call to Template::Constants::BEGIN@61 # spent 19µs making 1 call to constant::import
62
63# DEBUG constants to enable various debugging options
64219µs249µs
# spent 27µs (4+22) within Template::Constants::BEGIN@64 which was called: # once (4µs+22µs) by Template::Base::BEGIN@24 at line 64
use constant DEBUG_OFF => 0; # do nothing
# spent 27µs making 1 call to Template::Constants::BEGIN@64 # spent 22µs making 1 call to constant::import
65219µs243µs
# spent 24µs (4+20) within Template::Constants::BEGIN@65 which was called: # once (4µs+20µs) by Template::Base::BEGIN@24 at line 65
use constant DEBUG_ON => 1; # basic debugging flag
# spent 24µs making 1 call to Template::Constants::BEGIN@65 # spent 20µs making 1 call to constant::import
66218µs243µs
# spent 24µs (4+19) within Template::Constants::BEGIN@66 which was called: # once (4µs+19µs) by Template::Base::BEGIN@24 at line 66
use constant DEBUG_UNDEF => 2; # throw undef on undefined variables
# spent 24µs making 1 call to Template::Constants::BEGIN@66 # spent 19µs making 1 call to constant::import
67249µs251µs
# spent 27µs (4+24) within Template::Constants::BEGIN@67 which was called: # once (4µs+24µs) by Template::Base::BEGIN@24 at line 67
use constant DEBUG_VARS => 4; # general variable debugging
# spent 27µs making 1 call to Template::Constants::BEGIN@67 # spent 24µs making 1 call to constant::import
68232µs248µs
# spent 27µs (5+22) within Template::Constants::BEGIN@68 which was called: # once (5µs+22µs) by Template::Base::BEGIN@24 at line 68
use constant DEBUG_DIRS => 8; # directive debugging
# spent 27µs making 1 call to Template::Constants::BEGIN@68 # spent 22µs making 1 call to constant::import
69269µs258µs
# spent 36µs (14+22) within Template::Constants::BEGIN@69 which was called: # once (14µs+22µs) by Template::Base::BEGIN@24 at line 69
use constant DEBUG_STASH => 16; # general stash debugging
# spent 36µs making 1 call to Template::Constants::BEGIN@69 # spent 22µs making 1 call to constant::import
70220µs246µs
# spent 26µs (5+21) within Template::Constants::BEGIN@70 which was called: # once (5µs+21µs) by Template::Base::BEGIN@24 at line 70
use constant DEBUG_CONTEXT => 32; # context debugging
# spent 26µs making 1 call to Template::Constants::BEGIN@70 # spent 21µs making 1 call to constant::import
71218µs244µs
# spent 24µs (4+20) within Template::Constants::BEGIN@71 which was called: # once (4µs+20µs) by Template::Base::BEGIN@24 at line 71
use constant DEBUG_PARSER => 64; # parser debugging
# spent 24µs making 1 call to Template::Constants::BEGIN@71 # spent 20µs making 1 call to constant::import
72219µs244µs
# spent 24µs (4+20) within Template::Constants::BEGIN@72 which was called: # once (4µs+20µs) by Template::Base::BEGIN@24 at line 72
use constant DEBUG_PROVIDER => 128; # provider debugging
# spent 24µs making 1 call to Template::Constants::BEGIN@72 # spent 20µs making 1 call to constant::import
73219µs262µs
# spent 33µs (5+28) within Template::Constants::BEGIN@73 which was called: # once (5µs+28µs) by Template::Base::BEGIN@24 at line 73
use constant DEBUG_PLUGINS => 256; # plugins debugging
# spent 33µs making 1 call to Template::Constants::BEGIN@73 # spent 28µs making 1 call to constant::import
74219µs250µs
# spent 27µs (4+23) within Template::Constants::BEGIN@74 which was called: # once (4µs+23µs) by Template::Base::BEGIN@24 at line 74
use constant DEBUG_FILTERS => 512; # filters debugging
# spent 27µs making 1 call to Template::Constants::BEGIN@74 # spent 23µs making 1 call to constant::import
75218µs244µs
# spent 24µs (4+20) within Template::Constants::BEGIN@75 which was called: # once (4µs+20µs) by Template::Base::BEGIN@24 at line 75
use constant DEBUG_SERVICE => 1024; # context debugging
# spent 24µs making 1 call to Template::Constants::BEGIN@75 # spent 20µs making 1 call to constant::import
76222µs241µs
# spent 23µs (4+19) within Template::Constants::BEGIN@76 which was called: # once (4µs+19µs) by Template::Base::BEGIN@24 at line 76
use constant DEBUG_ALL => 2047; # everything
# spent 23µs making 1 call to Template::Constants::BEGIN@76 # spent 19µs making 1 call to constant::import
77
78# extra debugging flags
79219µs244µs
# spent 24µs (4+20) within Template::Constants::BEGIN@79 which was called: # once (4µs+20µs) by Template::Base::BEGIN@24 at line 79
use constant DEBUG_CALLER => 4096; # add caller file/line
# spent 24µs making 1 call to Template::Constants::BEGIN@79 # spent 20µs making 1 call to constant::import
802509µs243µs
# spent 24µs (4+19) within Template::Constants::BEGIN@80 which was called: # once (4µs+19µs) by Template::Base::BEGIN@24 at line 80
use constant DEBUG_FLAGS => 4096; # bitmask to extract flags
# spent 24µs making 1 call to Template::Constants::BEGIN@80 # spent 19µs making 1 call to constant::import
81
82173µs288µs$DEBUG_OPTIONS = {
# spent 1µs making 2 calls to Template::Constants::DEBUG_OFF, avg 700ns/call # spent 800ns making 2 calls to Template::Constants::DEBUG_ALL, avg 400ns/call # spent 800ns making 2 calls to Template::Constants::DEBUG_PARSER, avg 400ns/call # spent 600ns making 2 calls to Template::Constants::DEBUG_CALLER, avg 300ns/call # spent 500ns making 2 calls to Template::Constants::DEBUG_UNDEF, avg 250ns/call # spent 400ns making 2 calls to Template::Constants::DEBUG_CONTEXT, avg 200ns/call # spent 400ns making 2 calls to Template::Constants::DEBUG_DIRS, avg 200ns/call # spent 400ns making 2 calls to Template::Constants::DEBUG_FILTERS, avg 200ns/call # spent 400ns making 2 calls to Template::Constants::DEBUG_ON, avg 200ns/call # spent 400ns making 2 calls to Template::Constants::DEBUG_PLUGINS, avg 200ns/call # spent 400ns making 2 calls to Template::Constants::DEBUG_PROVIDER, avg 200ns/call # spent 400ns making 2 calls to Template::Constants::DEBUG_SERVICE, avg 200ns/call # spent 400ns making 2 calls to Template::Constants::DEBUG_STASH, avg 200ns/call # spent 400ns making 2 calls to Template::Constants::DEBUG_VARS, avg 200ns/call
83 &DEBUG_OFF => off => off => &DEBUG_OFF,
84 &DEBUG_ON => on => on => &DEBUG_ON,
85 &DEBUG_UNDEF => undef => undef => &DEBUG_UNDEF,
86 &DEBUG_VARS => vars => vars => &DEBUG_VARS,
87 &DEBUG_DIRS => dirs => dirs => &DEBUG_DIRS,
88 &DEBUG_STASH => stash => stash => &DEBUG_STASH,
89 &DEBUG_CONTEXT => context => context => &DEBUG_CONTEXT,
90 &DEBUG_PARSER => parser => parser => &DEBUG_PARSER,
91 &DEBUG_PROVIDER => provider => provider => &DEBUG_PROVIDER,
92 &DEBUG_PLUGINS => plugins => plugins => &DEBUG_PLUGINS,
93 &DEBUG_FILTERS => filters => filters => &DEBUG_FILTERS,
94 &DEBUG_SERVICE => service => service => &DEBUG_SERVICE,
95 &DEBUG_ALL => all => all => &DEBUG_ALL,
96 &DEBUG_CALLER => caller => caller => &DEBUG_CALLER,
97};
98
9911µs@STATUS = qw( STATUS_OK STATUS_RETURN STATUS_STOP STATUS_DONE
100 STATUS_DECLINED STATUS_ERROR );
1011800ns@ERROR = qw( ERROR_FILE ERROR_VIEW ERROR_UNDEF ERROR_PERL
102 ERROR_RETURN ERROR_FILTER ERROR_PLUGIN );
1031500ns@CHOMP = qw( CHOMP_NONE CHOMP_ALL CHOMP_ONE CHOMP_COLLAPSE CHOMP_GREEDY );
10411µs@DEBUG = qw( DEBUG_OFF DEBUG_ON DEBUG_UNDEF DEBUG_VARS
105 DEBUG_DIRS DEBUG_STASH DEBUG_CONTEXT DEBUG_PARSER
106 DEBUG_PROVIDER DEBUG_PLUGINS DEBUG_FILTERS DEBUG_SERVICE
107 DEBUG_ALL DEBUG_CALLER DEBUG_FLAGS );
108
10912µs@EXPORT_OK = ( @STATUS, @ERROR, @CHOMP, @DEBUG );
11018µs%EXPORT_TAGS = (
111 'all' => [ @EXPORT_OK ],
112 'status' => [ @STATUS ],
113 'error' => [ @ERROR ],
114 'chomp' => [ @CHOMP ],
115 'debug' => [ @DEBUG ],
116);
117
118
119sub debug_flags {
120 my ($self, $debug) = @_;
121 my (@flags, $flag, $value);
122 $debug = $self unless defined($debug) || ref($self);
123
124 if ($debug =~ /^\d+$/) {
125 foreach $flag (@DEBUG) {
126 next if $flag =~ /^DEBUG_(OFF|ALL|FLAGS)$/;
127
128 # don't trash the original
129 my $copy = $flag;
130 $flag =~ s/^DEBUG_//;
131 $flag = lc $flag;
132 return $self->error("no value for flag: $flag")
133 unless defined($value = $DEBUG_OPTIONS->{ $flag });
134 $flag = $value;
135
136 if ($debug & $flag) {
137 $value = $DEBUG_OPTIONS->{ $flag };
138 return $self->error("no value for flag: $flag") unless defined $value;
139 push(@flags, $value);
140 }
141 }
142 return wantarray ? @flags : join(', ', @flags);
143 }
144 else {
145 @flags = split(/\W+/, $debug);
146 $debug = 0;
147 foreach $flag (@flags) {
148 $value = $DEBUG_OPTIONS->{ $flag };
149 return $self->error("unknown debug flag: $flag") unless defined $value;
150 $debug |= $value;
151 }
152 return $debug;
153 }
154}
155
156
157124µs1;
158
159__END__
 
# spent 800ns within Template::Constants::DEBUG_ALL which was called 2 times, avg 400ns/call: # 2 times (800ns+0s) by Template::Base::BEGIN@24 at line 82, avg 400ns/call
sub Template::Constants::DEBUG_ALL; # xsub
# spent 600ns within Template::Constants::DEBUG_CALLER which was called 2 times, avg 300ns/call: # 2 times (600ns+0s) by Template::Base::BEGIN@24 at line 82, avg 300ns/call
sub Template::Constants::DEBUG_CALLER; # xsub
# spent 400ns within Template::Constants::DEBUG_CONTEXT which was called 2 times, avg 200ns/call: # 2 times (400ns+0s) by Template::Base::BEGIN@24 at line 82, avg 200ns/call
sub Template::Constants::DEBUG_CONTEXT; # xsub
# spent 400ns within Template::Constants::DEBUG_DIRS which was called 2 times, avg 200ns/call: # 2 times (400ns+0s) by Template::Base::BEGIN@24 at line 82, avg 200ns/call
sub Template::Constants::DEBUG_DIRS; # xsub
# spent 400ns within Template::Constants::DEBUG_FILTERS which was called 2 times, avg 200ns/call: # 2 times (400ns+0s) by Template::Base::BEGIN@24 at line 82, avg 200ns/call
sub Template::Constants::DEBUG_FILTERS; # xsub
# spent 1µs within Template::Constants::DEBUG_OFF which was called 2 times, avg 700ns/call: # 2 times (1µs+0s) by Template::Base::BEGIN@24 at line 82, avg 700ns/call
sub Template::Constants::DEBUG_OFF; # xsub
# spent 400ns within Template::Constants::DEBUG_ON which was called 2 times, avg 200ns/call: # 2 times (400ns+0s) by Template::Base::BEGIN@24 at line 82, avg 200ns/call
sub Template::Constants::DEBUG_ON; # xsub
# spent 800ns within Template::Constants::DEBUG_PARSER which was called 2 times, avg 400ns/call: # 2 times (800ns+0s) by Template::Base::BEGIN@24 at line 82, avg 400ns/call
sub Template::Constants::DEBUG_PARSER; # xsub
# spent 400ns within Template::Constants::DEBUG_PLUGINS which was called 2 times, avg 200ns/call: # 2 times (400ns+0s) by Template::Base::BEGIN@24 at line 82, avg 200ns/call
sub Template::Constants::DEBUG_PLUGINS; # xsub
# spent 400ns within Template::Constants::DEBUG_PROVIDER which was called 2 times, avg 200ns/call: # 2 times (400ns+0s) by Template::Base::BEGIN@24 at line 82, avg 200ns/call
sub Template::Constants::DEBUG_PROVIDER; # xsub
# spent 400ns within Template::Constants::DEBUG_SERVICE which was called 2 times, avg 200ns/call: # 2 times (400ns+0s) by Template::Base::BEGIN@24 at line 82, avg 200ns/call
sub Template::Constants::DEBUG_SERVICE; # xsub
# spent 400ns within Template::Constants::DEBUG_STASH which was called 2 times, avg 200ns/call: # 2 times (400ns+0s) by Template::Base::BEGIN@24 at line 82, avg 200ns/call
sub Template::Constants::DEBUG_STASH; # xsub
# spent 584ms within Template::Constants::DEBUG_UNDEF which was called 375389 times, avg 2µs/call: # 375387 times (584ms+0s) by Template::Context::_init at line 874 of Template/Context.pm, avg 2µs/call # 2 times (500ns+0s) by Template::Base::BEGIN@24 at line 82, avg 250ns/call
sub Template::Constants::DEBUG_UNDEF; # xsub
# spent 400ns within Template::Constants::DEBUG_VARS which was called 2 times, avg 200ns/call: # 2 times (400ns+0s) by Template::Base::BEGIN@24 at line 82, avg 200ns/call
sub Template::Constants::DEBUG_VARS; # xsub