← Index
NYTProf Performance Profile   « line view »
For svc/members/upsert
  Run on Tue Jan 13 11:50:22 2015
Reported on Tue Jan 13 12:09:51 2015

Filename/usr/lib/x86_64-linux-gnu/perl5/5.20/Template/Constants.pm
StatementsExecuted 87 statements in 1.33ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
11112µs22µsTemplate::Constants::::BEGIN@22Template::Constants::BEGIN@22
11110µs45µsTemplate::Constants::::BEGIN@27Template::Constants::BEGIN@27
1118µs26µsTemplate::Constants::::BEGIN@76Template::Constants::BEGIN@76
1118µs44µsTemplate::Constants::::BEGIN@40Template::Constants::BEGIN@40
1117µs24µsTemplate::Constants::::BEGIN@57Template::Constants::BEGIN@57
1117µs13µsTemplate::Constants::::BEGIN@23Template::Constants::BEGIN@23
1117µs38µsTemplate::Constants::::BEGIN@24Template::Constants::BEGIN@24
1116µs25µsTemplate::Constants::::BEGIN@43Template::Constants::BEGIN@43
1116µs74µsTemplate::Constants::::BEGIN@28Template::Constants::BEGIN@28
1116µs24µsTemplate::Constants::::BEGIN@65Template::Constants::BEGIN@65
1116µs24µsTemplate::Constants::::BEGIN@72Template::Constants::BEGIN@72
1116µs24µsTemplate::Constants::::BEGIN@44Template::Constants::BEGIN@44
1116µs41µsTemplate::Constants::::BEGIN@53Template::Constants::BEGIN@53
1116µs28µsTemplate::Constants::::BEGIN@41Template::Constants::BEGIN@41
1116µs24µsTemplate::Constants::::BEGIN@52Template::Constants::BEGIN@52
1116µs25µsTemplate::Constants::::BEGIN@48Template::Constants::BEGIN@48
1116µs23µsTemplate::Constants::::BEGIN@69Template::Constants::BEGIN@69
1116µs24µsTemplate::Constants::::BEGIN@79Template::Constants::BEGIN@79
1116µs24µsTemplate::Constants::::BEGIN@42Template::Constants::BEGIN@42
1116µs24µsTemplate::Constants::::BEGIN@50Template::Constants::BEGIN@50
1116µs23µsTemplate::Constants::::BEGIN@58Template::Constants::BEGIN@58
1116µs24µsTemplate::Constants::::BEGIN@70Template::Constants::BEGIN@70
1115µs25µsTemplate::Constants::::BEGIN@45Template::Constants::BEGIN@45
1115µs23µsTemplate::Constants::::BEGIN@74Template::Constants::BEGIN@74
1115µs22µsTemplate::Constants::::BEGIN@59Template::Constants::BEGIN@59
1115µs26µsTemplate::Constants::::BEGIN@71Template::Constants::BEGIN@71
1115µs23µsTemplate::Constants::::BEGIN@61Template::Constants::BEGIN@61
1115µs24µsTemplate::Constants::::BEGIN@75Template::Constants::BEGIN@75
1115µs22µsTemplate::Constants::::BEGIN@80Template::Constants::BEGIN@80
1115µs23µsTemplate::Constants::::BEGIN@49Template::Constants::BEGIN@49
1115µs22µsTemplate::Constants::::BEGIN@54Template::Constants::BEGIN@54
1115µs23µsTemplate::Constants::::BEGIN@64Template::Constants::BEGIN@64
1115µs25µsTemplate::Constants::::BEGIN@67Template::Constants::BEGIN@67
1115µs23µsTemplate::Constants::::BEGIN@73Template::Constants::BEGIN@73
1115µs23µsTemplate::Constants::::BEGIN@60Template::Constants::BEGIN@60
1115µs22µsTemplate::Constants::::BEGIN@66Template::Constants::BEGIN@66
1115µs22µsTemplate::Constants::::BEGIN@68Template::Constants::BEGIN@68
1115µs23µsTemplate::Constants::::BEGIN@51Template::Constants::BEGIN@51
2111µs1µsTemplate::Constants::::DEBUG_OFFTemplate::Constants::DEBUG_OFF (xsub)
2111µs1µsTemplate::Constants::::DEBUG_CALLERTemplate::Constants::DEBUG_CALLER (xsub)
211900ns900nsTemplate::Constants::::DEBUG_ALLTemplate::Constants::DEBUG_ALL (xsub)
211500ns500nsTemplate::Constants::::DEBUG_FILTERSTemplate::Constants::DEBUG_FILTERS (xsub)
211500ns500nsTemplate::Constants::::DEBUG_ONTemplate::Constants::DEBUG_ON (xsub)
211500ns500nsTemplate::Constants::::DEBUG_PARSERTemplate::Constants::DEBUG_PARSER (xsub)
211500ns500nsTemplate::Constants::::DEBUG_PLUGINSTemplate::Constants::DEBUG_PLUGINS (xsub)
211500ns500nsTemplate::Constants::::DEBUG_PROVIDERTemplate::Constants::DEBUG_PROVIDER (xsub)
211500ns500nsTemplate::Constants::::DEBUG_STASHTemplate::Constants::DEBUG_STASH (xsub)
211500ns500nsTemplate::Constants::::DEBUG_UNDEFTemplate::Constants::DEBUG_UNDEF (xsub)
211400ns400nsTemplate::Constants::::DEBUG_CONTEXTTemplate::Constants::DEBUG_CONTEXT (xsub)
211400ns400nsTemplate::Constants::::DEBUG_DIRSTemplate::Constants::DEBUG_DIRS (xsub)
211400ns400nsTemplate::Constants::::DEBUG_SERVICETemplate::Constants::DEBUG_SERVICE (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
211700nsrequire Exporter;
22222µs233µs
# spent 22µs (12+11) within Template::Constants::BEGIN@22 which was called: # once (12µs+11µs) by Template::Base::BEGIN@24 at line 22
use strict;
# spent 22µs making 1 call to Template::Constants::BEGIN@22 # spent 11µs making 1 call to strict::import
23219µs218µs
# spent 13µs (7+5) within Template::Constants::BEGIN@23 which was called: # once (7µs+5µs) by Template::Base::BEGIN@24 at line 23
use warnings;
# spent 13µs making 1 call to Template::Constants::BEGIN@23 # spent 6µs making 1 call to warnings::import
24226µs269µs
# spent 38µs (7+31) within Template::Constants::BEGIN@24 which was called: # once (7µs+31µs) by Template::Base::BEGIN@24 at line 24
use Exporter;
# spent 38µs making 1 call to Template::Constants::BEGIN@24 # spent 31µs making 1 call to Exporter::import
25# Perl::MinimumVersion seems to think this is a Perl 5.008ism...
26# use base qw( Exporter );
27233µs280µs
# spent 45µs (10+36) within Template::Constants::BEGIN@27 which was called: # once (10µs+36µs) by Template::Base::BEGIN@24 at line 27
use vars qw( @EXPORT_OK %EXPORT_TAGS );
# spent 45µs making 1 call to Template::Constants::BEGIN@27 # spent 36µs making 1 call to vars::import
28242µs2143µs
# spent 74µs (6+68) within Template::Constants::BEGIN@28 which was called: # once (6µs+68µs) by Template::Base::BEGIN@24 at line 28
use vars qw( $DEBUG_OPTIONS @STATUS @ERROR @CHOMP @DEBUG @ISA );
# spent 74µs making 1 call to Template::Constants::BEGIN@28 # spent 68µs making 1 call to vars::import
29# ... so we'll do it the Old Skool way just to keep it quiet
3016µs@ISA = qw( Exporter );
31
321200nsour $VERSION = 2.75;
33
34
35#========================================================================
36# ----- EXPORTER -----
37#========================================================================
38
39# STATUS constants returned by directives
40228µs281µs
# spent 44µs (8+37) within Template::Constants::BEGIN@40 which was called: # once (8µs+37µs) by Template::Base::BEGIN@24 at line 40
use constant STATUS_OK => 0; # ok
# spent 44µs making 1 call to Template::Constants::BEGIN@40 # spent 37µs making 1 call to constant::import
41221µs250µs
# spent 28µs (6+22) within Template::Constants::BEGIN@41 which was called: # once (6µs+22µs) by Template::Base::BEGIN@24 at line 41
use constant STATUS_RETURN => 1; # ok, block ended by RETURN
# spent 28µs making 1 call to Template::Constants::BEGIN@41 # spent 22µs making 1 call to constant::import
42221µs242µs
# spent 24µs (6+18) within Template::Constants::BEGIN@42 which was called: # once (6µs+18µs) by Template::Base::BEGIN@24 at line 42
use constant STATUS_STOP => 2; # ok, stoppped by STOP
# spent 24µs making 1 call to Template::Constants::BEGIN@42 # spent 18µs making 1 call to constant::import
43221µs245µs
# spent 25µs (6+19) within Template::Constants::BEGIN@43 which was called: # once (6µs+19µ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 19µs making 1 call to constant::import
44224µs242µs
# spent 24µs (6+18) within Template::Constants::BEGIN@44 which was called: # once (6µs+18µ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 18µs making 1 call to constant::import
45224µs244µs
# spent 25µs (5+19) within Template::Constants::BEGIN@45 which was called: # once (5µs+19µs) by Template::Base::BEGIN@24 at line 45
use constant STATUS_ERROR => 255; # error condition
# spent 25µs making 1 call to Template::Constants::BEGIN@45 # spent 19µs making 1 call to constant::import
46
47# ERROR constants for indicating exception types
48220µs244µs
# spent 25µs (6+19) within Template::Constants::BEGIN@48 which was called: # once (6µs+19µ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 19µs making 1 call to constant::import
49220µs241µs
# spent 23µs (5+18) within Template::Constants::BEGIN@49 which was called: # once (5µs+18µs) by Template::Base::BEGIN@24 at line 49
use constant ERROR_FILE => 'file'; # file error: I/O, parse, recursion
# spent 23µs making 1 call to Template::Constants::BEGIN@49 # spent 18µs making 1 call to constant::import
50219µs242µs
# spent 24µs (6+18) within Template::Constants::BEGIN@50 which was called: # once (6µs+18µs) by Template::Base::BEGIN@24 at line 50
use constant ERROR_VIEW => 'view'; # view error
# spent 24µs making 1 call to Template::Constants::BEGIN@50 # spent 18µs making 1 call to constant::import
51222µs242µs
# spent 23µs (5+19) within Template::Constants::BEGIN@51 which was called: # once (5µs+19µs) by Template::Base::BEGIN@24 at line 51
use constant ERROR_UNDEF => 'undef'; # undefined variable value used
# spent 23µs making 1 call to Template::Constants::BEGIN@51 # spent 19µs making 1 call to constant::import
52220µs242µs
# spent 24µs (6+18) within Template::Constants::BEGIN@52 which was called: # once (6µs+18µs) by Template::Base::BEGIN@24 at line 52
use constant ERROR_PERL => 'perl'; # error in [% PERL %] block
# spent 24µs making 1 call to Template::Constants::BEGIN@52 # spent 18µs making 1 call to constant::import
53219µs275µs
# spent 41µs (6+35) within Template::Constants::BEGIN@53 which was called: # once (6µs+35µs) by Template::Base::BEGIN@24 at line 53
use constant ERROR_FILTER => 'filter'; # filter error
# spent 41µs making 1 call to Template::Constants::BEGIN@53 # spent 35µs making 1 call to constant::import
54219µs238µs
# spent 22µs (5+16) within Template::Constants::BEGIN@54 which was called: # once (5µs+16µs) by Template::Base::BEGIN@24 at line 54
use constant ERROR_PLUGIN => 'plugin'; # plugin error
# spent 22µs making 1 call to Template::Constants::BEGIN@54 # spent 16µs making 1 call to constant::import
55
56# CHOMP constants for PRE_CHOMP and POST_CHOMP
57220µs241µs
# spent 24µs (7+17) within Template::Constants::BEGIN@57 which was called: # once (7µs+17µ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 17µs making 1 call to constant::import
58221µs240µs
# spent 23µs (6+18) within Template::Constants::BEGIN@58 which was called: # once (6µs+18µs) by Template::Base::BEGIN@24 at line 58
use constant CHOMP_ALL => 1; # remove whitespace up to newline
# spent 23µs making 1 call to Template::Constants::BEGIN@58 # spent 18µs making 1 call to constant::import
59234µs240µs
# spent 22µs (5+17) within Template::Constants::BEGIN@59 which was called: # once (5µs+17µs) by Template::Base::BEGIN@24 at line 59
use constant CHOMP_ONE => 1; # new name for CHOMP_ALL
# spent 22µs making 1 call to Template::Constants::BEGIN@59 # spent 17µs making 1 call to constant::import
60220µs241µs
# spent 23µs (5+18) within Template::Constants::BEGIN@60 which was called: # once (5µs+18µs) by Template::Base::BEGIN@24 at line 60
use constant CHOMP_COLLAPSE => 2; # collapse whitespace to a single space
# spent 23µs making 1 call to Template::Constants::BEGIN@60 # spent 18µs making 1 call to constant::import
61224µs240µs
# spent 23µs (5+18) within Template::Constants::BEGIN@61 which was called: # once (5µs+18µ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 18µs making 1 call to constant::import
62
63# DEBUG constants to enable various debugging options
64220µs241µs
# spent 23µs (5+18) within Template::Constants::BEGIN@64 which was called: # once (5µs+18µs) by Template::Base::BEGIN@24 at line 64
use constant DEBUG_OFF => 0; # do nothing
# spent 23µs making 1 call to Template::Constants::BEGIN@64 # spent 18µs making 1 call to constant::import
65219µs242µs
# spent 24µs (6+18) within Template::Constants::BEGIN@65 which was called: # once (6µs+18µ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 18µs making 1 call to constant::import
66222µs240µs
# spent 22µs (5+18) within Template::Constants::BEGIN@66 which was called: # once (5µs+18µs) by Template::Base::BEGIN@24 at line 66
use constant DEBUG_UNDEF => 2; # throw undef on undefined variables
# spent 22µs making 1 call to Template::Constants::BEGIN@66 # spent 18µs making 1 call to constant::import
67219µs244µs
# spent 25µs (5+20) within Template::Constants::BEGIN@67 which was called: # once (5µs+20µs) by Template::Base::BEGIN@24 at line 67
use constant DEBUG_VARS => 4; # general variable debugging
# spent 25µs making 1 call to Template::Constants::BEGIN@67 # spent 20µs making 1 call to constant::import
68219µs239µs
# spent 22µs (5+17) within Template::Constants::BEGIN@68 which was called: # once (5µs+17µs) by Template::Base::BEGIN@24 at line 68
use constant DEBUG_DIRS => 8; # directive debugging
# spent 22µs making 1 call to Template::Constants::BEGIN@68 # spent 17µs making 1 call to constant::import
69223µs241µs
# spent 23µs (6+18) within Template::Constants::BEGIN@69 which was called: # once (6µs+18µs) by Template::Base::BEGIN@24 at line 69
use constant DEBUG_STASH => 16; # general stash debugging
# spent 23µs making 1 call to Template::Constants::BEGIN@69 # spent 18µs making 1 call to constant::import
70219µs242µs
# spent 24µs (6+18) within Template::Constants::BEGIN@70 which was called: # once (6µs+18µs) by Template::Base::BEGIN@24 at line 70
use constant DEBUG_CONTEXT => 32; # context debugging
# spent 24µs making 1 call to Template::Constants::BEGIN@70 # spent 18µs making 1 call to constant::import
71221µs247µs
# spent 26µs (5+21) within Template::Constants::BEGIN@71 which was called: # once (5µs+21µs) by Template::Base::BEGIN@24 at line 71
use constant DEBUG_PARSER => 64; # parser debugging
# spent 26µs making 1 call to Template::Constants::BEGIN@71 # spent 21µs making 1 call to constant::import
72220µs242µs
# spent 24µs (6+18) within Template::Constants::BEGIN@72 which was called: # once (6µs+18µ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 18µs making 1 call to constant::import
73219µs241µs
# spent 23µs (5+18) within Template::Constants::BEGIN@73 which was called: # once (5µs+18µs) by Template::Base::BEGIN@24 at line 73
use constant DEBUG_PLUGINS => 256; # plugins debugging
# spent 23µs making 1 call to Template::Constants::BEGIN@73 # spent 18µs making 1 call to constant::import
74219µs241µs
# spent 23µs (5+18) within Template::Constants::BEGIN@74 which was called: # once (5µs+18µs) by Template::Base::BEGIN@24 at line 74
use constant DEBUG_FILTERS => 512; # filters debugging
# spent 23µs making 1 call to Template::Constants::BEGIN@74 # spent 18µs making 1 call to constant::import
75223µs243µs
# spent 24µs (5+19) within Template::Constants::BEGIN@75 which was called: # once (5µs+19µ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 19µs making 1 call to constant::import
76222µs245µs
# spent 26µs (8+19) within Template::Constants::BEGIN@76 which was called: # once (8µs+19µs) by Template::Base::BEGIN@24 at line 76
use constant DEBUG_ALL => 2047; # everything
# spent 26µs making 1 call to Template::Constants::BEGIN@76 # spent 18µs making 1 call to constant::import
77
78# extra debugging flags
79219µs241µs
# spent 24µs (6+18) within Template::Constants::BEGIN@79 which was called: # once (6µs+18µ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 18µs making 1 call to constant::import
802380µs240µs
# spent 22µs (5+17) within Template::Constants::BEGIN@80 which was called: # once (5µs+17µs) by Template::Base::BEGIN@24 at line 80
use constant DEBUG_FLAGS => 4096; # bitmask to extraxt flags
# spent 22µs making 1 call to Template::Constants::BEGIN@80 # spent 17µs making 1 call to constant::import
81
82190µs289µs$DEBUG_OPTIONS = {
# spent 1µs making 2 calls to Template::Constants::DEBUG_OFF, avg 700ns/call # spent 1µs making 2 calls to Template::Constants::DEBUG_CALLER, avg 600ns/call # spent 900ns making 2 calls to Template::Constants::DEBUG_ALL, avg 450ns/call # spent 500ns making 2 calls to Template::Constants::DEBUG_FILTERS, avg 250ns/call # spent 500ns making 2 calls to Template::Constants::DEBUG_ON, avg 250ns/call # spent 500ns making 2 calls to Template::Constants::DEBUG_PARSER, avg 250ns/call # spent 500ns making 2 calls to Template::Constants::DEBUG_PLUGINS, avg 250ns/call # spent 500ns making 2 calls to Template::Constants::DEBUG_PROVIDER, avg 250ns/call # spent 500ns making 2 calls to Template::Constants::DEBUG_STASH, avg 250ns/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_SERVICE, 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 );
1011600ns@ERROR = qw( ERROR_FILE ERROR_VIEW ERROR_UNDEF ERROR_PERL
102 ERROR_RETURN ERROR_FILTER ERROR_PLUGIN );
1031400ns@CHOMP = qw( CHOMP_NONE CHOMP_ALL CHOMP_ONE CHOMP_COLLAPSE CHOMP_GREEDY );
1041900ns@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 );
11019µ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
157116µs1;
158
159__END__
 
# spent 900ns within Template::Constants::DEBUG_ALL which was called 2 times, avg 450ns/call: # 2 times (900ns+0s) by Template::Base::BEGIN@24 at line 82, avg 450ns/call
sub Template::Constants::DEBUG_ALL; # xsub
# spent 1µs within Template::Constants::DEBUG_CALLER which was called 2 times, avg 600ns/call: # 2 times (1µs+0s) by Template::Base::BEGIN@24 at line 82, avg 600ns/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 500ns within Template::Constants::DEBUG_FILTERS which was called 2 times, avg 250ns/call: # 2 times (500ns+0s) by Template::Base::BEGIN@24 at line 82, avg 250ns/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 500ns within Template::Constants::DEBUG_ON which was called 2 times, avg 250ns/call: # 2 times (500ns+0s) by Template::Base::BEGIN@24 at line 82, avg 250ns/call
sub Template::Constants::DEBUG_ON; # xsub
# spent 500ns within Template::Constants::DEBUG_PARSER which was called 2 times, avg 250ns/call: # 2 times (500ns+0s) by Template::Base::BEGIN@24 at line 82, avg 250ns/call
sub Template::Constants::DEBUG_PARSER; # xsub
# spent 500ns within Template::Constants::DEBUG_PLUGINS which was called 2 times, avg 250ns/call: # 2 times (500ns+0s) by Template::Base::BEGIN@24 at line 82, avg 250ns/call
sub Template::Constants::DEBUG_PLUGINS; # xsub
# spent 500ns within Template::Constants::DEBUG_PROVIDER which was called 2 times, avg 250ns/call: # 2 times (500ns+0s) by Template::Base::BEGIN@24 at line 82, avg 250ns/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 500ns within Template::Constants::DEBUG_STASH which was called 2 times, avg 250ns/call: # 2 times (500ns+0s) by Template::Base::BEGIN@24 at line 82, avg 250ns/call
sub Template::Constants::DEBUG_STASH; # xsub
# spent 500ns within Template::Constants::DEBUG_UNDEF which was called 2 times, avg 250ns/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