← Index
NYTProf Performance Profile   « line view »
For /Users/timbo/perl5/perlbrew/perls/perl-5.18.2/bin/perlcritic
  Run on Sat Mar 19 22:12:22 2016
Reported on Sat Mar 19 22:14:10 2016

Filename/Users/timbo/perl5/perlbrew/perls/perl-5.18.2/lib/5.18.2/warnings.pm
StatementsExecuted 2145 statements in 3.29ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
3283193181.45ms1.45mswarnings::::importwarnings::import
511325µs362µswarnings::::register_categorieswarnings::register_categories
252519277µs277µswarnings::::unimportwarnings::unimport
102136µs36µswarnings::::_mkMaskwarnings::_mkMask
11113µs13µswarnings::::CORE:regcompwarnings::CORE:regcomp (opcode)
1113µs3µswarnings::::CORE:matchwarnings::CORE:match (opcode)
0000s0swarnings::::Croakerwarnings::Croaker
0000s0swarnings::::__chkwarnings::__chk
0000s0swarnings::::_bitswarnings::_bits
0000s0swarnings::::_error_locwarnings::_error_loc
0000s0swarnings::::bitswarnings::bits
0000s0swarnings::::enabledwarnings::enabled
0000s0swarnings::::fatal_enabledwarnings::fatal_enabled
0000s0swarnings::::warnwarnings::warn
0000s0swarnings::::warnifwarnings::warnif
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1# -*- buffer-read-only: t -*-
2# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
3# This file is built by regen/warnings.pl.
4# Any changes made here will be lost!
5
6package warnings;
7
81600nsour $VERSION = '1.18';
9
10# Verify that we're called correctly so that warnings will work.
11# see also strict.pm.
12128µs216µsunless ( __FILE__ =~ /(^|[\/\\])\Q${\__PACKAGE__}\E\.pmc?$/ ) {
# spent 13µs making 1 call to warnings::CORE:regcomp # spent 3µs making 1 call to warnings::CORE:match
13 my (undef, $f, $l) = caller;
14 die("Incorrect use of pragma '${\__PACKAGE__}' at $f line $l.\n");
15}
16
17=head1 NAME
18
19warnings - Perl pragma to control optional warnings
20
21=head1 SYNOPSIS
22
23 use warnings;
24 no warnings;
25
26 use warnings "all";
27 no warnings "all";
28
29 use warnings::register;
30 if (warnings::enabled()) {
31 warnings::warn("some warning");
32 }
33
34 if (warnings::enabled("void")) {
35 warnings::warn("void", "some warning");
36 }
37
38 if (warnings::enabled($object)) {
39 warnings::warn($object, "some warning");
40 }
41
42 warnings::warnif("some warning");
43 warnings::warnif("void", "some warning");
44 warnings::warnif($object, "some warning");
45
46=head1 DESCRIPTION
47
48The C<warnings> pragma is a replacement for the command line flag C<-w>,
49but the pragma is limited to the enclosing block, while the flag is global.
50See L<perllexwarn> for more information and the list of built-in warning
51categories.
52
53If no import list is supplied, all possible warnings are either enabled
54or disabled.
55
56A number of functions are provided to assist module authors.
57
58=over 4
59
60=item use warnings::register
61
62Creates a new warnings category with the same name as the package where
63the call to the pragma is used.
64
65=item warnings::enabled()
66
67Use the warnings category with the same name as the current package.
68
69Return TRUE if that warnings category is enabled in the calling module.
70Otherwise returns FALSE.
71
72=item warnings::enabled($category)
73
74Return TRUE if the warnings category, C<$category>, is enabled in the
75calling module.
76Otherwise returns FALSE.
77
78=item warnings::enabled($object)
79
80Use the name of the class for the object reference, C<$object>, as the
81warnings category.
82
83Return TRUE if that warnings category is enabled in the first scope
84where the object is used.
85Otherwise returns FALSE.
86
87=item warnings::fatal_enabled()
88
89Return TRUE if the warnings category with the same name as the current
90package has been set to FATAL in the calling module.
91Otherwise returns FALSE.
92
93=item warnings::fatal_enabled($category)
94
95Return TRUE if the warnings category C<$category> has been set to FATAL in
96the calling module.
97Otherwise returns FALSE.
98
99=item warnings::fatal_enabled($object)
100
101Use the name of the class for the object reference, C<$object>, as the
102warnings category.
103
104Return TRUE if that warnings category has been set to FATAL in the first
105scope where the object is used.
106Otherwise returns FALSE.
107
108=item warnings::warn($message)
109
110Print C<$message> to STDERR.
111
112Use the warnings category with the same name as the current package.
113
114If that warnings category has been set to "FATAL" in the calling module
115then die. Otherwise return.
116
117=item warnings::warn($category, $message)
118
119Print C<$message> to STDERR.
120
121If the warnings category, C<$category>, has been set to "FATAL" in the
122calling module then die. Otherwise return.
123
124=item warnings::warn($object, $message)
125
126Print C<$message> to STDERR.
127
128Use the name of the class for the object reference, C<$object>, as the
129warnings category.
130
131If that warnings category has been set to "FATAL" in the scope where C<$object>
132is first used then die. Otherwise return.
133
134
135=item warnings::warnif($message)
136
137Equivalent to:
138
139 if (warnings::enabled())
140 { warnings::warn($message) }
141
142=item warnings::warnif($category, $message)
143
144Equivalent to:
145
146 if (warnings::enabled($category))
147 { warnings::warn($category, $message) }
148
149=item warnings::warnif($object, $message)
150
151Equivalent to:
152
153 if (warnings::enabled($object))
154 { warnings::warn($object, $message) }
155
156=item warnings::register_categories(@names)
157
158This registers warning categories for the given names and is primarily for
159use by the warnings::register pragma, for which see L<perllexwarn>.
160
161=back
162
163See L<perlmodlib/Pragmatic Modules> and L<perllexwarn>.
164
165=cut
166
167116µsour %Offsets = (
168
169 # Warnings Categories added in Perl 5.008
170
171 'all' => 0,
172 'closure' => 2,
173 'deprecated' => 4,
174 'exiting' => 6,
175 'glob' => 8,
176 'io' => 10,
177 'closed' => 12,
178 'exec' => 14,
179 'layer' => 16,
180 'newline' => 18,
181 'pipe' => 20,
182 'unopened' => 22,
183 'misc' => 24,
184 'numeric' => 26,
185 'once' => 28,
186 'overflow' => 30,
187 'pack' => 32,
188 'portable' => 34,
189 'recursion' => 36,
190 'redefine' => 38,
191 'regexp' => 40,
192 'severe' => 42,
193 'debugging' => 44,
194 'inplace' => 46,
195 'internal' => 48,
196 'malloc' => 50,
197 'signal' => 52,
198 'substr' => 54,
199 'syntax' => 56,
200 'ambiguous' => 58,
201 'bareword' => 60,
202 'digit' => 62,
203 'parenthesis' => 64,
204 'precedence' => 66,
205 'printf' => 68,
206 'prototype' => 70,
207 'qw' => 72,
208 'reserved' => 74,
209 'semicolon' => 76,
210 'taint' => 78,
211 'threads' => 80,
212 'uninitialized' => 82,
213 'unpack' => 84,
214 'untie' => 86,
215 'utf8' => 88,
216 'void' => 90,
217
218 # Warnings Categories added in Perl 5.011
219
220 'imprecision' => 92,
221 'illegalproto' => 94,
222
223 # Warnings Categories added in Perl 5.013
224
225 'non_unicode' => 96,
226 'nonchar' => 98,
227 'surrogate' => 100,
228
229 # Warnings Categories added in Perl 5.017
230
231 'experimental' => 102,
232 'experimental::lexical_subs'=> 104,
233 'experimental::lexical_topic'=> 106,
234 'experimental::regex_sets'=> 108,
235 'experimental::smartmatch'=> 110,
236 );
237
238115µsour %Bits = (
239 'all' => "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55", # [0..55]
240 'ambiguous' => "\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00", # [29]
241 'bareword' => "\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00", # [30]
242 'closed' => "\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [6]
243 'closure' => "\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [1]
244 'debugging' => "\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00", # [22]
245 'deprecated' => "\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [2]
246 'digit' => "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00", # [31]
247 'exec' => "\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [7]
248 'exiting' => "\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [3]
249 'experimental' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x55", # [51..55]
250 'experimental::lexical_subs'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01", # [52]
251 'experimental::lexical_topic'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04", # [53]
252 'experimental::regex_sets'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10", # [54]
253 'experimental::smartmatch'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40", # [55]
254 'glob' => "\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [4]
255 'illegalproto' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00", # [47]
256 'imprecision' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00", # [46]
257 'inplace' => "\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00", # [23]
258 'internal' => "\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00", # [24]
259 'io' => "\x00\x54\x55\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [5..11]
260 'layer' => "\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [8]
261 'malloc' => "\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00", # [25]
262 'misc' => "\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [12]
263 'newline' => "\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [9]
264 'non_unicode' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00", # [48]
265 'nonchar' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00", # [49]
266 'numeric' => "\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [13]
267 'once' => "\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [14]
268 'overflow' => "\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [15]
269 'pack' => "\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [16]
270 'parenthesis' => "\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00", # [32]
271 'pipe' => "\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [10]
272 'portable' => "\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [17]
273 'precedence' => "\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00", # [33]
274 'printf' => "\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00", # [34]
275 'prototype' => "\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00", # [35]
276 'qw' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00", # [36]
277 'recursion' => "\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [18]
278 'redefine' => "\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [19]
279 'regexp' => "\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00", # [20]
280 'reserved' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00", # [37]
281 'semicolon' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00", # [38]
282 'severe' => "\x00\x00\x00\x00\x00\x54\x05\x00\x00\x00\x00\x00\x00\x00", # [21..25]
283 'signal' => "\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00", # [26]
284 'substr' => "\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00", # [27]
285 'surrogate' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00", # [50]
286 'syntax' => "\x00\x00\x00\x00\x00\x00\x00\x55\x55\x15\x00\x40\x00\x00", # [28..38,47]
287 'taint' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00", # [39]
288 'threads' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00", # [40]
289 'uninitialized' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00", # [41]
290 'unopened' => "\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [11]
291 'unpack' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00", # [42]
292 'untie' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00", # [43]
293 'utf8' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x15\x00", # [44,48..50]
294 'void' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00", # [45]
295 );
296
297162µsour %DeadBits = (
298 'all' => "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa", # [0..55]
299 'ambiguous' => "\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00", # [29]
300 'bareword' => "\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00", # [30]
301 'closed' => "\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [6]
302 'closure' => "\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [1]
303 'debugging' => "\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00", # [22]
304 'deprecated' => "\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [2]
305 'digit' => "\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00", # [31]
306 'exec' => "\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [7]
307 'exiting' => "\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [3]
308 'experimental' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\xaa", # [51..55]
309 'experimental::lexical_subs'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02", # [52]
310 'experimental::lexical_topic'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08", # [53]
311 'experimental::regex_sets'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20", # [54]
312 'experimental::smartmatch'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80", # [55]
313 'glob' => "\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [4]
314 'illegalproto' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00", # [47]
315 'imprecision' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00", # [46]
316 'inplace' => "\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00", # [23]
317 'internal' => "\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00", # [24]
318 'io' => "\x00\xa8\xaa\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [5..11]
319 'layer' => "\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [8]
320 'malloc' => "\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00", # [25]
321 'misc' => "\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [12]
322 'newline' => "\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [9]
323 'non_unicode' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00", # [48]
324 'nonchar' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00", # [49]
325 'numeric' => "\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [13]
326 'once' => "\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [14]
327 'overflow' => "\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [15]
328 'pack' => "\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [16]
329 'parenthesis' => "\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00", # [32]
330 'pipe' => "\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [10]
331 'portable' => "\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [17]
332 'precedence' => "\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00", # [33]
333 'printf' => "\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00", # [34]
334 'prototype' => "\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00", # [35]
335 'qw' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00", # [36]
336 'recursion' => "\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [18]
337 'redefine' => "\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [19]
338 'regexp' => "\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00", # [20]
339 'reserved' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00", # [37]
340 'semicolon' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00", # [38]
341 'severe' => "\x00\x00\x00\x00\x00\xa8\x0a\x00\x00\x00\x00\x00\x00\x00", # [21..25]
342 'signal' => "\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00", # [26]
343 'substr' => "\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00", # [27]
344 'surrogate' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00", # [50]
345 'syntax' => "\x00\x00\x00\x00\x00\x00\x00\xaa\xaa\x2a\x00\x80\x00\x00", # [28..38,47]
346 'taint' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00", # [39]
347 'threads' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00", # [40]
348 'uninitialized' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00", # [41]
349 'unopened' => "\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [11]
350 'unpack' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00", # [42]
351 'untie' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00", # [43]
352 'utf8' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x2a\x00", # [44,48..50]
353 'void' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00", # [45]
354 );
355
3561300ns$NONE = "\0\0\0\0\0\0\0\0\0\0\0\0\0\0";
35715µs$DEFAULT = "\x10\x01\x00\x00\x00\x50\x04\x00\x00\x00\x00\x00\x00\x55", # [2,52..55,4,22,23,25]
358$LAST_BIT = 112 ;
3591100ns$BYTES = 14 ;
360
361219µs$All = "" ; vec($All, $Offsets{'all'}, 2) = 3 ;
362
363sub Croaker
364{
365 require Carp; # this initializes %CarpInternal
366 local $Carp::CarpInternal{'warnings'};
367 delete $Carp::CarpInternal{'warnings'};
368 Carp::croak(@_);
369}
370
371sub _bits {
372 my $mask = shift ;
373 my $catmask ;
374 my $fatal = 0 ;
375 my $no_fatal = 0 ;
376
377 foreach my $word ( @_ ) {
378 if ($word eq 'FATAL') {
379 $fatal = 1;
380 $no_fatal = 0;
381 }
382 elsif ($word eq 'NONFATAL') {
383 $fatal = 0;
384 $no_fatal = 1;
385 }
386 elsif ($catmask = $Bits{$word}) {
387 $mask |= $catmask ;
388 $mask |= $DeadBits{$word} if $fatal ;
389 $mask &= ~($DeadBits{$word}|$All) if $no_fatal ;
390 }
391 else
392 { Croaker("Unknown warnings category '$word'")}
393 }
394
395 return $mask ;
396}
397
398sub bits
399{
400 # called from B::Deparse.pm
401 push @_, 'all' unless @_ ;
402 return _bits(undef, @_) ;
403}
404
405sub import
406
# spent 1.45ms within warnings::import which was called 328 times, avg 4µs/call: # 10 times (51µs+0s) by Role::Tiny::import at line 47 of Role/Tiny.pm, avg 5µs/call # once (14µs+0s) by Perl::Critic::Policy::BuiltinFunctions::ProhibitReverseSortBlock::BEGIN@12 at line 12 of Perl/Critic/Policy/BuiltinFunctions/ProhibitReverseSortBlock.pm # once (14µs+0s) by Perl::Critic::Policy::BuiltinFunctions::ProhibitStringySplit::BEGIN@12 at line 12 of Perl/Critic/Policy/BuiltinFunctions/ProhibitStringySplit.pm # once (10µs+0s) by Perl::Critic::Exception::Fatal::Generic::BEGIN@12 at line 12 of Perl/Critic/Exception/Fatal/Generic.pm # once (10µs+0s) by main::BEGIN@17 at line 17 of /Users/timbo/perl5/perlbrew/perls/perl-5.18.2/bin/perlcritic # once (9µs+0s) by Perl::Critic::Policy::CodeLayout::RequireTrailingCommas::BEGIN@12 at line 12 of Perl/Critic/Policy/CodeLayout/RequireTrailingCommas.pm # once (8µs+0s) by PPIx::Regexp::Token::Delimiter::BEGIN@34 at line 34 of PPIx/Regexp/Token/Delimiter.pm # once (8µs+0s) by Perl::Critic::Policy::InputOutput::ProhibitBarewordFileHandles::BEGIN@12 at line 12 of Perl/Critic/Policy/InputOutput/ProhibitBarewordFileHandles.pm # once (8µs+0s) by Perl::Critic::Exception::Parse::BEGIN@12 at line 12 of Perl/Critic/Exception/Parse.pm # once (8µs+0s) by PPIx::Regexp::Token::Recursion::BEGIN@32 at line 32 of PPIx/Regexp/Token/Recursion.pm # once (8µs+0s) by PPIx::Regexp::Token::Comment::BEGIN@33 at line 33 of PPIx/Regexp/Token/Comment.pm # once (7µs+0s) by PPIx::Regexp::Token::Modifier::BEGIN@82 at line 82 of PPIx/Regexp/Token/Modifier.pm # once (7µs+0s) by Perl::Critic::Policy::NamingConventions::ProhibitAmbiguousNames::BEGIN@12 at line 12 of Perl/Critic/Policy/NamingConventions/ProhibitAmbiguousNames.pm # once (7µs+0s) by PPIx::Regexp::Token::Structure::BEGIN@36 at line 36 of PPIx/Regexp/Token/Structure.pm # once (7µs+0s) by Perl::Critic::Policy::ValuesAndExpressions::RequireNumberSeparators::BEGIN@12 at line 12 of Perl/Critic/Policy/ValuesAndExpressions/RequireNumberSeparators.pm # once (7µs+0s) by Term::ANSIColor::BEGIN@24 at line 24 of Term/ANSIColor.pm # once (7µs+0s) by Encode::BEGIN@6 at line 6 of Encode.pm # once (7µs+0s) by Perl::Critic::Policy::Documentation::RequirePackageMatchesPodName::BEGIN@13 at line 13 of Perl/Critic/Policy/Documentation/RequirePackageMatchesPodName.pm # once (6µs+0s) by Perl::Critic::Exception::Fatal::Internal::BEGIN@12 at line 12 of Perl/Critic/Exception/Fatal/Internal.pm # once (6µs+0s) by PPIx::Regexp::Token::GroupType::Assertion::BEGIN@33 at line 33 of PPIx/Regexp/Token/GroupType/Assertion.pm # once (6µs+0s) by PPIx::Regexp::Token::GroupType::NamedCapture::BEGIN@38 at line 38 of PPIx/Regexp/Token/GroupType/NamedCapture.pm # once (6µs+0s) by PPIx::Regexp::Token::Greediness::BEGIN@34 at line 34 of PPIx/Regexp/Token/Greediness.pm # once (6µs+0s) by PPIx::Regexp::Token::Interpolation::BEGIN@33 at line 33 of PPIx/Regexp/Token/Interpolation.pm # once (6µs+0s) by PPIx::Regexp::Token::GroupType::Subexpression::BEGIN@33 at line 33 of PPIx/Regexp/Token/GroupType/Subexpression.pm # once (6µs+0s) by Exception::Class::Base::BEGIN@4 at line 4 of Exception/Class/Base.pm # once (6µs+0s) by Module::Runtime::BEGIN@3.83 at line 3 of Path/IsDev/Heuristic/TestDir.pm # once (6µs+0s) by Perl::Critic::Policy::InputOutput::ProhibitExplicitStdin::BEGIN@12 at line 12 of Perl/Critic/Policy/InputOutput/ProhibitExplicitStdin.pm # once (6µs+0s) by PPIx::Regexp::Token::GroupType::Switch::BEGIN@34 at line 34 of PPIx/Regexp/Token/GroupType/Switch.pm # once (6µs+0s) by Perl::Critic::Policy::InputOutput::ProhibitBacktickOperators::BEGIN@12 at line 12 of Perl/Critic/Policy/InputOutput/ProhibitBacktickOperators.pm # once (6µs+0s) by PPIx::Regexp::Token::GroupType::BEGIN@42 at line 42 of PPIx/Regexp/Token/GroupType.pm # once (6µs+0s) by PPIx::Regexp::Token::GroupType::BranchReset::BEGIN@33 at line 33 of PPIx/Regexp/Token/GroupType/BranchReset.pm # once (6µs+0s) by PPIx::Regexp::Token::GroupType::Modifier::BEGIN@35 at line 35 of PPIx/Regexp/Token/GroupType/Modifier.pm # once (6µs+0s) by overloading::BEGIN@2 at line 2 of overloading.pm # once (6µs+0s) by PPIx::Regexp::Token::GroupType::Code::BEGIN@40 at line 40 of PPIx/Regexp/Token/GroupType/Code.pm # once (6µs+0s) by Perl::Critic::Exception::Configuration::Option::Policy::ExtraParameter::BEGIN@12 at line 12 of Perl/Critic/Exception/Configuration/Option/Policy/ExtraParameter.pm # once (6µs+0s) by Role::Tiny::BEGIN@3.87 at line 3 of Path/IsDev/Role/Matcher/Child/Exists/Any/Dir.pm # once (6µs+0s) by Pod::Wordlist::BEGIN@3.4 at line 3 of File/ShareDir/ProjectDistDir.pm # once (6µs+0s) by PPIx::Regexp::Token::Literal::BEGIN@33 at line 33 of PPIx/Regexp/Token/Literal.pm # once (6µs+0s) by List::MoreUtils::BEGIN@5 at line 5 of List/MoreUtils.pm # once (6µs+0s) by File::Copy::BEGIN@12 at line 12 of File/Copy.pm # once (6µs+0s) by Module::Runtime::BEGIN@3.47 at line 3 of Path/IsDev/NegativeHeuristic/PerlINC.pm # once (6µs+0s) by Perl::Critic::Document::BEGIN@12 at line 12 of Perl/Critic/Document.pm # once (5µs+0s) by PPIx::Regexp::Token::Operator::BEGIN@34 at line 34 of PPIx/Regexp/Token/Operator.pm # once (5µs+0s) by PPIx::Regexp::Token::CharClass::POSIX::BEGIN@40 at line 40 of PPIx/Regexp/Token/CharClass/POSIX.pm # once (5µs+0s) by Perl::Critic::Policy::InputOutput::ProhibitReadlineInForLoop::BEGIN@12 at line 12 of Perl/Critic/Policy/InputOutput/ProhibitReadlineInForLoop.pm # once (5µs+0s) by Perl::Critic::Exception::Configuration::NonExistentPolicy::BEGIN@12 at line 12 of Perl/Critic/Exception/Configuration/NonExistentPolicy.pm # once (5µs+0s) by Perl::Critic::Policy::InputOutput::ProhibitOneArgSelect::BEGIN@12 at line 12 of Perl/Critic/Policy/InputOutput/ProhibitOneArgSelect.pm # once (5µs+0s) by Perl::Critic::Exception::Fatal::PolicyDefinition::BEGIN@12 at line 12 of Perl/Critic/Exception/Fatal/PolicyDefinition.pm # once (5µs+0s) by Module::Runtime::BEGIN@3.99 at line 3 of Path/IsDev/Heuristic/Makefile.pm # once (5µs+0s) by Module::Runtime::BEGIN@3.103 at line 3 of Path/IsDev/Heuristic/VCS/Git.pm # once (5µs+0s) by Module::Runtime::BEGIN@3.91 at line 3 of Path/IsDev/Heuristic/DevDirMarker.pm # once (5µs+0s) by PPIx::Regexp::Token::CharClass::POSIX::Unknown::BEGIN@6 at line 6 of PPIx/Regexp/Token/CharClass/POSIX/Unknown.pm # once (5µs+0s) by PPIx::Regexp::Token::Quantifier::BEGIN@34 at line 34 of PPIx/Regexp/Token/Quantifier.pm # once (5µs+0s) by Perl::Critic::Policy::InputOutput::ProhibitJoinedReadline::BEGIN@12 at line 12 of Perl/Critic/Policy/InputOutput/ProhibitJoinedReadline.pm # once (5µs+0s) by Module::Runtime::BEGIN@3.95 at line 3 of Path/IsDev/Heuristic/MYMETA.pm # once (5µs+0s) by File::Find::BEGIN@4 at line 4 of File/Find.pm # once (5µs+0s) by Perl::Critic::Policy::BuiltinFunctions::ProhibitUniversalCan::BEGIN@12 at line 12 of Perl/Critic/Policy/BuiltinFunctions/ProhibitUniversalCan.pm # once (5µs+0s) by Perl::Critic::Policy::InputOutput::ProhibitInteractiveTest::BEGIN@12 at line 12 of Perl/Critic/Policy/InputOutput/ProhibitInteractiveTest.pm # once (5µs+0s) by Perl::Critic::Statistics::BEGIN@12 at line 12 of Perl/Critic/Statistics.pm # once (5µs+0s) by Perl::Critic::Utils::BEGIN@15 at line 15 of Perl/Critic/Utils.pm # once (5µs+0s) by PPIx::Regexp::Token::CharClass::BEGIN@38 at line 38 of PPIx/Regexp/Token/CharClass.pm # once (5µs+0s) by PPIx::Regexp::Token::Whitespace::BEGIN@36 at line 36 of PPIx/Regexp/Token/Whitespace.pm # once (5µs+0s) by Perl::Critic::OptionsProcessor::BEGIN@12 at line 12 of Perl/Critic/OptionsProcessor.pm # once (5µs+0s) by Perl::Critic::Utils::Constants::BEGIN@12 at line 12 of Perl/Critic/Utils/Constants.pm # once (5µs+0s) by Encode::Alias::BEGIN@3 at line 3 of Encode/Alias.pm # once (5µs+0s) by Perl::Critic::BEGIN@12 at line 12 of Perl/Critic.pm # once (5µs+0s) by Perl::Critic::Policy::ClassHierarchies::ProhibitAutoloading::BEGIN@12 at line 12 of Perl/Critic/Policy/ClassHierarchies/ProhibitAutoloading.pm # once (5µs+0s) by PPIx::Regexp::Structure::Unknown::BEGIN@33 at line 33 of PPIx/Regexp/Structure/Unknown.pm # once (5µs+0s) by PPIx::Regexp::Token::Unmatched::BEGIN@38 at line 38 of PPIx/Regexp/Token/Unmatched.pm # once (5µs+0s) by Perl::Critic::Policy::BuiltinFunctions::RequireSimpleSortBlock::BEGIN@12 at line 12 of Perl/Critic/Policy/BuiltinFunctions/RequireSimpleSortBlock.pm # once (5µs+0s) by Devel::StackTrace::BEGIN@8 at line 8 of Devel/StackTrace.pm # once (5µs+0s) by Perl::Critic::Exception::Configuration::Option::Global::ExtraParameter::BEGIN@12 at line 12 of Perl/Critic/Exception/Configuration/Option/Global/ExtraParameter.pm # once (5µs+0s) by PPIx::Regexp::Token::Control::BEGIN@40 at line 40 of PPIx/Regexp/Token/Control.pm # once (5µs+0s) by PPIx::Regexp::BEGIN@86 at line 86 of PPIx/Regexp.pm # once (5µs+0s) by PPIx::Regexp::Token::BEGIN@49 at line 49 of PPIx/Regexp/Token.pm # once (5µs+0s) by PPIx::Regexp::Structure::Assertion::BEGIN@33 at line 33 of PPIx/Regexp/Structure/Assertion.pm # once (5µs+0s) by Perl::Critic::Annotation::BEGIN@12 at line 12 of Perl/Critic/Annotation.pm # once (5µs+0s) by PPIx::Regexp::Token::Backtrack::BEGIN@32 at line 32 of PPIx/Regexp/Token/Backtrack.pm # once (5µs+0s) by PPIx::Regexp::Structure::BranchReset::BEGIN@33 at line 33 of PPIx/Regexp/Structure/BranchReset.pm # once (5µs+0s) by PPIx::Regexp::Lexer::BEGIN@37 at line 37 of PPIx/Regexp/Lexer.pm # once (5µs+0s) by PPIx::Regexp::Token::Unknown::BEGIN@36 at line 36 of PPIx/Regexp/Token/Unknown.pm # once (5µs+0s) by Perl::Critic::Theme::BEGIN@12 at line 12 of Perl/Critic/Theme.pm # once (5µs+0s) by Encode::Config::BEGIN@8 at line 8 of Encode/Config.pm # once (5µs+0s) by Perl::Critic::Policy::BuiltinFunctions::RequireGlobFunction::BEGIN@12 at line 12 of Perl/Critic/Policy/BuiltinFunctions/RequireGlobFunction.pm # once (5µs+0s) by PPIx::Utilities::Node::BEGIN@5 at line 5 of PPIx/Utilities/Node.pm # once (5µs+0s) by PPIx::Regexp::Token::Condition::BEGIN@34 at line 34 of PPIx/Regexp/Token/Condition.pm # once (5µs+0s) by Perl::Critic::Policy::BuiltinFunctions::RequireBlockMap::BEGIN@12 at line 12 of Perl/Critic/Policy/BuiltinFunctions/RequireBlockMap.pm # once (5µs+0s) by Perl::Critic::UserProfile::BEGIN@12 at line 12 of Perl/Critic/UserProfile.pm # once (5µs+0s) by Perl::Critic::Policy::BuiltinFunctions::ProhibitComplexMappings::BEGIN@12 at line 12 of Perl/Critic/Policy/BuiltinFunctions/ProhibitComplexMappings.pm # once (5µs+0s) by PPIx::Regexp::Token::Code::BEGIN@45 at line 45 of PPIx/Regexp/Token/Code.pm # once (5µs+0s) by Perl::Critic::Policy::ClassHierarchies::ProhibitExplicitISA::BEGIN@12 at line 12 of Perl/Critic/Policy/ClassHierarchies/ProhibitExplicitISA.pm # once (4µs+0s) by PPIx::Regexp::Structure::Modifier::BEGIN@34 at line 34 of PPIx/Regexp/Structure/Modifier.pm # once (4µs+0s) by Perl::Critic::Policy::BuiltinFunctions::ProhibitVoidMap::BEGIN@12 at line 12 of Perl/Critic/Policy/BuiltinFunctions/ProhibitVoidMap.pm # once (4µs+0s) by Perl::Critic::Policy::BuiltinFunctions::ProhibitUniversalIsa::BEGIN@12 at line 12 of Perl/Critic/Policy/BuiltinFunctions/ProhibitUniversalIsa.pm # once (4µs+0s) by Perl::Critic::Policy::BuiltinFunctions::ProhibitLvalueSubstr::BEGIN@12 at line 12 of Perl/Critic/Policy/BuiltinFunctions/ProhibitLvalueSubstr.pm # once (4µs+0s) by Perl::Critic::Policy::BuiltinFunctions::RequireBlockGrep::BEGIN@16 at line 16 of Perl/Critic/Policy/BuiltinFunctions/RequireBlockGrep.pm # once (4µs+0s) by Perl::Critic::Policy::BuiltinFunctions::ProhibitVoidGrep::BEGIN@12 at line 12 of Perl/Critic/Policy/BuiltinFunctions/ProhibitVoidGrep.pm # once (4µs+0s) by PPIx::Regexp::Node::Range::BEGIN@34 at line 34 of PPIx/Regexp/Node/Range.pm # once (4µs+0s) by Perl::Critic::Policy::BuiltinFunctions::ProhibitBooleanGrep::BEGIN@12 at line 12 of Perl/Critic/Policy/BuiltinFunctions/ProhibitBooleanGrep.pm # once (4µs+0s) by Perl::Critic::Policy::BuiltinFunctions::ProhibitSleepViaSelect::BEGIN@12 at line 12 of Perl/Critic/Policy/BuiltinFunctions/ProhibitSleepViaSelect.pm # once (4µs+0s) by PPIx::Regexp::Token::Reference::BEGIN@38 at line 38 of PPIx/Regexp/Token/Reference.pm # once (4µs+0s) by PPIx::Regexp::Structure::CharClass::BEGIN@33 at line 33 of PPIx/Regexp/Structure/CharClass.pm # once (4µs+0s) by PPIx::Regexp::Token::CharClass::Simple::BEGIN@34 at line 34 of PPIx/Regexp/Token/CharClass/Simple.pm # once (4µs+0s) by Perl::Critic::Policy::BuiltinFunctions::ProhibitStringyEval::BEGIN@12 at line 12 of Perl/Critic/Policy/BuiltinFunctions/ProhibitStringyEval.pm # once (4µs+0s) by Perl::Critic::Policy::InputOutput::ProhibitTwoArgOpen::BEGIN@12 at line 12 of Perl/Critic/Policy/InputOutput/ProhibitTwoArgOpen.pm # once (4µs+0s) by PPIx::Regexp::Token::Backreference::BEGIN@33 at line 33 of PPIx/Regexp/Token/Backreference.pm # once (4µs+0s) by Carp::BEGIN@5 at line 5 of Carp.pm # once (4µs+0s) by PPIx::Regexp::Structure::Replacement::BEGIN@37 at line 37 of PPIx/Regexp/Structure/Replacement.pm # once (4µs+0s) by PPIx::Regexp::Structure::Capture::BEGIN@34 at line 34 of PPIx/Regexp/Structure/Capture.pm # once (4µs+0s) by PPIx::Regexp::Constant::BEGIN@4 at line 4 of PPIx/Regexp/Constant.pm # once (4µs+0s) by PPIx::Regexp::Tokenizer::BEGIN@4 at line 4 of PPIx/Regexp/Tokenizer.pm # once (4µs+0s) by PPIx::Regexp::Structure::Code::BEGIN@38 at line 38 of PPIx/Regexp/Structure/Code.pm # once (4µs+0s) by PPIx::Regexp::Support::BEGIN@36 at line 36 of PPIx/Regexp/Support.pm # once (4µs+0s) by Perl::Critic::Policy::InputOutput::RequireBracedFileHandleWithPrint::BEGIN@12 at line 12 of Perl/Critic/Policy/InputOutput/RequireBracedFileHandleWithPrint.pm # once (4µs+0s) by PPIx::Regexp::Structure::Subexpression::BEGIN@33 at line 33 of PPIx/Regexp/Structure/Subexpression.pm # once (4µs+0s) by PPIx::Utilities::Exception::Bug::BEGIN@12 at line 12 of PPIx/Utilities/Exception/Bug.pm # once (4µs+0s) by PPIx::Regexp::Util::BEGIN@6 at line 6 of PPIx/Regexp/Util.pm # once (4µs+0s) by PPIx::Regexp::Element::BEGIN@34 at line 34 of PPIx/Regexp/Element.pm # once (4µs+0s) by PPIx::Regexp::Token::Assertion::BEGIN@35 at line 35 of PPIx/Regexp/Token/Assertion.pm # once (4µs+0s) by PPIx::Regexp::Structure::Quantifier::BEGIN@33 at line 33 of PPIx/Regexp/Structure/Quantifier.pm # once (4µs+0s) by Perl::Critic::Policy::ClassHierarchies::ProhibitOneArgBless::BEGIN@12 at line 12 of Perl/Critic/Policy/ClassHierarchies/ProhibitOneArgBless.pm # once (4µs+0s) by PPIx::Regexp::Structure::Regexp::BEGIN@35 at line 35 of PPIx/Regexp/Structure/Regexp.pm # once (4µs+0s) by Perl::Critic::Policy::Documentation::PodSpelling::BEGIN@12 at line 12 of Perl/Critic/Policy/Documentation/PodSpelling.pm # once (4µs+0s) by Perl::Critic::Policy::ValuesAndExpressions::RequireQuotedHeredocTerminator::BEGIN@12 at line 12 of Perl/Critic/Policy/ValuesAndExpressions/RequireQuotedHeredocTerminator.pm # once (4µs+0s) by PPIx::Regexp::Node::BEGIN@35 at line 35 of PPIx/Regexp/Node.pm # once (4µs+0s) by PPIx::Regexp::Structure::RegexSet::BEGIN@4 at line 4 of PPIx/Regexp/Structure/RegexSet.pm # once (4µs+0s) by PPIx::Regexp::Structure::NamedCapture::BEGIN@38 at line 38 of PPIx/Regexp/Structure/NamedCapture.pm # once (4µs+0s) by Module::Runtime::BEGIN@3.39 at line 3 of Path/IsDev/NegativeHeuristic/HomeDir.pm # once (4µs+0s) by PPIx::Regexp::Structure::Switch::BEGIN@33 at line 33 of PPIx/Regexp/Structure/Switch.pm # once (4µs+0s) by List::MoreUtils::XS::BEGIN@5 at line 5 of List/MoreUtils/XS.pm # once (4µs+0s) by PPIx::Regexp::Structure::BEGIN@46 at line 46 of PPIx/Regexp/Structure.pm # once (4µs+0s) by Perl::Critic::Policy::Documentation::RequirePodSections::BEGIN@12 at line 12 of Perl/Critic/Policy/Documentation/RequirePodSections.pm # once (4µs+0s) by Encode::Encoding::BEGIN@5 at line 5 of Encode/Encoding.pm # once (4µs+0s) by List::MoreUtils::PP::BEGIN@5 at line 5 of List/MoreUtils/PP.pm # once (4µs+0s) by Perl::Critic::Exception::Fatal::BEGIN@12 at line 12 of Perl/Critic/Exception/Fatal.pm # once (4µs+0s) by Devel::StackTrace::Frame::BEGIN@4 at line 4 of Devel/StackTrace/Frame.pm # once (4µs+0s) by PPIx::Regexp::Structure::Main::BEGIN@39 at line 39 of PPIx/Regexp/Structure/Main.pm # once (4µs+0s) by File::ShareDir::ProjectDistDir::BEGIN@3.8 at line 3 of Path/FindDev.pm # once (4µs+0s) by Perl::Critic::Violation::BEGIN@12 at line 12 of Perl/Critic/Violation.pm # once (4µs+0s) by Perl::Critic::Policy::Variables::ProhibitAugmentedAssignmentInDeclaration::BEGIN@12 at line 12 of Perl/Critic/Policy/Variables/ProhibitAugmentedAssignmentInDeclaration.pm # once (4µs+0s) by Pod::Spell::BEGIN@4 at line 4 of Pod/Spell.pm # once (4µs+0s) by Path::FindDev::BEGIN@3 at line 3 of Path/FindDev/Object.pm # once (4µs+0s) by File::ShareDir::BEGIN@110 at line 110 of File/ShareDir.pm # once (4µs+0s) by deprecate::BEGIN@3 at line 3 of deprecate.pm # once (4µs+0s) by Role::Tiny::BEGIN@3.43 at line 3 of Path/IsDev/Role/Matcher/FullPath/Is/Any.pm # once (4µs+0s) by Perl::Critic::Exception::Configuration::Generic::BEGIN@12 at line 12 of Perl/Critic/Exception/Configuration/Generic.pm # once (4µs+0s) by File::Basename::BEGIN@52 at line 52 of File/Basename.pm # once (4µs+0s) by Perl::Critic::Policy::InputOutput::RequireCheckedClose::BEGIN@12 at line 12 of Perl/Critic/Policy/InputOutput/RequireCheckedClose.pm # once (4µs+0s) by Perl::Critic::Policy::ValuesAndExpressions::RequireUpperCaseHeredocTerminator::BEGIN@12 at line 12 of Perl/Critic/Policy/ValuesAndExpressions/RequireUpperCaseHeredocTerminator.pm # once (4µs+0s) by Perl::Critic::Policy::ControlStructures::ProhibitUnlessBlocks::BEGIN@12 at line 12 of Perl/Critic/Policy/ControlStructures/ProhibitUnlessBlocks.pm # once (4µs+0s) by Perl::Critic::Exception::IO::BEGIN@12 at line 12 of Perl/Critic/Exception/IO.pm # once (4µs+0s) by Perl::Critic::Policy::ValuesAndExpressions::ProhibitInterpolationOfLiterals::BEGIN@12 at line 12 of Perl/Critic/Policy/ValuesAndExpressions/ProhibitInterpolationOfLiterals.pm # once (4µs+0s) by Perl::Critic::Policy::Modules::ProhibitExcessMainComplexity::BEGIN@12 at line 12 of Perl/Critic/Policy/Modules/ProhibitExcessMainComplexity.pm # once (4µs+0s) by Perl::Critic::Policy::CodeLayout::RequireConsistentNewlines::BEGIN@12 at line 12 of Perl/Critic/Policy/CodeLayout/RequireConsistentNewlines.pm # once (4µs+0s) by Perl::Critic::Policy::RegularExpressions::ProhibitComplexRegexes::BEGIN@12 at line 12 of Perl/Critic/Policy/RegularExpressions/ProhibitComplexRegexes.pm # once (4µs+0s) by Module::Runtime::BEGIN@3 at line 3 of Path/IsDev/HeuristicSet/Basic.pm # once (4µs+0s) by Role::Tiny::BEGIN@3.35 at line 3 of Path/IsDev/Role/Matcher/Child/Exists/Any.pm # once (4µs+0s) by Perl::Critic::Policy::CodeLayout::ProhibitTrailingWhitespace::BEGIN@12 at line 12 of Perl/Critic/Policy/CodeLayout/ProhibitTrailingWhitespace.pm # once (4µs+0s) by Config::BEGIN@6 at line 6 of Config_heavy.pl # once (4µs+0s) by Pod::Wordlist::BEGIN@4.13 at line 4 of Class/Tiny.pm # once (4µs+0s) by Perl::Critic::Policy::Subroutines::ProhibitSubroutinePrototypes::BEGIN@12 at line 12 of Perl/Critic/Policy/Subroutines/ProhibitSubroutinePrototypes.pm # once (4µs+0s) by Mac::SystemDirectory::BEGIN@5 at line 5 of Mac/SystemDirectory.pm # once (4µs+0s) by Perl::Critic::Policy::ValuesAndExpressions::ProhibitMagicNumbers::BEGIN@12 at line 12 of Perl/Critic/Policy/ValuesAndExpressions/ProhibitMagicNumbers.pm # once (4µs+0s) by Perl::Critic::Policy::ValuesAndExpressions::ProhibitEscapedCharacters::BEGIN@12 at line 12 of Perl/Critic/Policy/ValuesAndExpressions/ProhibitEscapedCharacters.pm # once (4µs+0s) by Config::BEGIN@10 at line 10 of Config.pm # once (4µs+0s) by Perl::Critic::Policy::ControlStructures::ProhibitPostfixControls::BEGIN@12 at line 12 of Perl/Critic/Policy/ControlStructures/ProhibitPostfixControls.pm # once (4µs+0s) by Perl::Critic::Policy::TestingAndDebugging::ProhibitNoWarnings::BEGIN@12 at line 12 of Perl/Critic/Policy/TestingAndDebugging/ProhibitNoWarnings.pm # once (4µs+0s) by Perl::Critic::Policy::CodeLayout::ProhibitQuotedWordLists::BEGIN@12 at line 12 of Perl/Critic/Policy/CodeLayout/ProhibitQuotedWordLists.pm # once (4µs+0s) by Role::Tiny::BEGIN@3.55 at line 3 of Path/IsDev/Role/Heuristic.pm # once (4µs+0s) by Perl::Critic::Policy::Modules::RequireBarewordIncludes::BEGIN@12 at line 12 of Perl/Critic/Policy/Modules/RequireBarewordIncludes.pm # once (4µs+0s) by Perl::Critic::Policy::ErrorHandling::RequireCheckingReturnValueOfEval::BEGIN@12 at line 12 of Perl/Critic/Policy/ErrorHandling/RequireCheckingReturnValueOfEval.pm # once (4µs+0s) by Perl::Critic::Utils::POD::BEGIN@12 at line 12 of Perl/Critic/Utils/POD.pm # once (4µs+0s) by Perl::Critic::Policy::InputOutput::RequireCheckedOpen::BEGIN@12 at line 12 of Perl/Critic/Policy/InputOutput/RequireCheckedOpen.pm # once (4µs+0s) by Perl::Critic::Policy::Variables::ProhibitEvilVariables::BEGIN@11 at line 11 of Perl/Critic/Policy/Variables/ProhibitEvilVariables.pm # once (4µs+0s) by Perl::Critic::Policy::RegularExpressions::ProhibitCaptureWithoutTest::BEGIN@12 at line 12 of Perl/Critic/Policy/RegularExpressions/ProhibitCaptureWithoutTest.pm # once (4µs+0s) by Perl::Critic::Policy::Subroutines::RequireArgUnpacking::BEGIN@12 at line 12 of Perl/Critic/Policy/Subroutines/RequireArgUnpacking.pm # once (4µs+0s) by Perl::Critic::Policy::ValuesAndExpressions::ProhibitEmptyQuotes::BEGIN@12 at line 12 of Perl/Critic/Policy/ValuesAndExpressions/ProhibitEmptyQuotes.pm # once (4µs+0s) by Perl::Critic::Command::BEGIN@12 at line 12 of Perl/Critic/Command.pm # once (4µs+0s) by Module::Runtime::BEGIN@3.71 at line 3 of Path/IsDev/Heuristic/Changelog.pm # once (4µs+0s) by Path::FindDev::Object::BEGIN@3 at line 3 of Path/IsDev/Object.pm # once (4µs+0s) by Perl::Critic::Policy::ControlStructures::ProhibitNegativeExpressionsInUnlessAndUntilConditions::BEGIN@12 at line 12 of Perl/Critic/Policy/ControlStructures/ProhibitNegativeExpressionsInUnlessAndUntilConditions.pm # once (4µs+0s) by Perl::Critic::Policy::ControlStructures::ProhibitMutatingListFunctions::BEGIN@12 at line 12 of Perl/Critic/Policy/ControlStructures/ProhibitMutatingListFunctions.pm # once (4µs+0s) by Path::IsDev::Object::BEGIN@3 at line 3 of Path/IsDev/Result.pm # once (4µs+0s) by Class::Inspector::BEGIN@46 at line 46 of Class/Inspector.pm # once (4µs+0s) by _charnames::BEGIN@8 at line 8 of _charnames.pm # once (4µs+0s) by Perl::Critic::Policy::Variables::ProhibitConditionalDeclarations::BEGIN@12 at line 12 of Perl/Critic/Policy/Variables/ProhibitConditionalDeclarations.pm # once (4µs+0s) by Perl::Critic::Policy::Modules::RequireVersionVar::BEGIN@12 at line 12 of Perl/Critic/Policy/Modules/RequireVersionVar.pm # once (4µs+0s) by Perl::Critic::Exception::Configuration::Option::Policy::BEGIN@12 at line 12 of Perl/Critic/Exception/Configuration/Option/Policy.pm # once (4µs+0s) by Perl::Critic::Policy::ValuesAndExpressions::ProhibitQuotesAsQuotelikeOperatorDelimiters::BEGIN@12 at line 12 of Perl/Critic/Policy/ValuesAndExpressions/ProhibitQuotesAsQuotelikeOperatorDelimiters.pm # once (4µs+0s) by Perl::Critic::Policy::RegularExpressions::RequireDotMatchAnything::BEGIN@12 at line 12 of Perl/Critic/Policy/RegularExpressions/RequireDotMatchAnything.pm # once (4µs+0s) by Perl::Critic::Policy::ValuesAndExpressions::ProhibitConstantPragma::BEGIN@12 at line 12 of Perl/Critic/Policy/ValuesAndExpressions/ProhibitConstantPragma.pm # once (4µs+0s) by Perl::Critic::Policy::Variables::ProhibitLocalVars::BEGIN@12 at line 12 of Perl/Critic/Policy/Variables/ProhibitLocalVars.pm # once (4µs+0s) by Role::Tiny::BEGIN@3.19 at line 3 of Path/IsDev/Role/HeuristicSet.pm # once (4µs+0s) by Role::Tiny::BEGIN@3 at line 3 of Path/IsDev/Role/HeuristicSet/Simple.pm # once (4µs+0s) by Perl::Critic::Policy::TestingAndDebugging::RequireUseStrict::BEGIN@12 at line 12 of Perl/Critic/Policy/TestingAndDebugging/RequireUseStrict.pm # once (4µs+0s) by Perl::Critic::Policy::Variables::ProhibitReusedNames::BEGIN@12 at line 12 of Perl/Critic/Policy/Variables/ProhibitReusedNames.pm # once (4µs+0s) by Perl::Critic::Policy::Modules::RequireFilenameMatchesPackage::BEGIN@12 at line 12 of Perl/Critic/Policy/Modules/RequireFilenameMatchesPackage.pm # once (4µs+0s) by Perl::Critic::Policy::Subroutines::ProhibitAmpersandSigils::BEGIN@12 at line 12 of Perl/Critic/Policy/Subroutines/ProhibitAmpersandSigils.pm # once (4µs+0s) by Perl::Critic::Policy::TestingAndDebugging::ProhibitNoStrict::BEGIN@12 at line 12 of Perl/Critic/Policy/TestingAndDebugging/ProhibitNoStrict.pm # once (4µs+0s) by Perl::Critic::Policy::RegularExpressions::ProhibitUnusedCapture::BEGIN@12 at line 12 of Perl/Critic/Policy/RegularExpressions/ProhibitUnusedCapture.pm # once (4µs+0s) by Perl::Critic::Policy::RegularExpressions::ProhibitUnusualDelimiters::BEGIN@12 at line 12 of Perl/Critic/Policy/RegularExpressions/ProhibitUnusualDelimiters.pm # once (4µs+0s) by Perl::Critic::Utils::PPI::BEGIN@12 at line 12 of Perl/Critic/Utils/PPI.pm # once (4µs+0s) by Perl::Critic::Policy::ControlStructures::ProhibitCascadingIfElse::BEGIN@12 at line 12 of Perl/Critic/Policy/ControlStructures/ProhibitCascadingIfElse.pm # once (4µs+0s) by Perl::Critic::Policy::Documentation::RequirePodLinksIncludeText::BEGIN@13 at line 13 of Perl/Critic/Policy/Documentation/RequirePodLinksIncludeText.pm # once (4µs+0s) by Perl::Critic::PolicyConfig::BEGIN@12 at line 12 of Perl/Critic/PolicyConfig.pm # once (4µs+0s) by Perl::Critic::Exception::Configuration::BEGIN@12 at line 12 of Perl/Critic/Exception/Configuration.pm # once (4µs+0s) by Perl::Critic::Policy::Variables::RequireInitializationForLocalVars::BEGIN@12 at line 12 of Perl/Critic/Policy/Variables/RequireInitializationForLocalVars.pm # once (4µs+0s) by Perl::Critic::Policy::Modules::ProhibitMultiplePackages::BEGIN@12 at line 12 of Perl/Critic/Policy/Modules/ProhibitMultiplePackages.pm # once (4µs+0s) by Perl::Critic::Policy::RegularExpressions::ProhibitSingleCharAlternation::BEGIN@12 at line 12 of Perl/Critic/Policy/RegularExpressions/ProhibitSingleCharAlternation.pm # once (4µs+0s) by Perl::Critic::Policy::ValuesAndExpressions::ProhibitCommaSeparatedStatements::BEGIN@12 at line 12 of Perl/Critic/Policy/ValuesAndExpressions/ProhibitCommaSeparatedStatements.pm # once (4µs+0s) by Perl::Critic::Policy::Miscellanea::ProhibitUnrestrictedNoCritic::BEGIN@12 at line 12 of Perl/Critic/Policy/Miscellanea/ProhibitUnrestrictedNoCritic.pm # once (4µs+0s) by Perl::Critic::Policy::InputOutput::RequireEncodingWithUTF8Layer::BEGIN@12 at line 12 of Perl/Critic/Policy/InputOutput/RequireEncodingWithUTF8Layer.pm # once (4µs+0s) by Perl::Critic::Policy::Documentation::RequirePodAtEnd::BEGIN@12 at line 12 of Perl/Critic/Policy/Documentation/RequirePodAtEnd.pm # once (4µs+0s) by Perl::Critic::Policy::Subroutines::ProhibitBuiltinHomonyms::BEGIN@12 at line 12 of Perl/Critic/Policy/Subroutines/ProhibitBuiltinHomonyms.pm # once (4µs+0s) by Perl::Critic::PolicyParameter::Behavior::String::BEGIN@12 at line 12 of Perl/Critic/PolicyParameter/Behavior/String.pm # once (4µs+0s) by Role::Tiny::BEGIN@3.79 at line 3 of Path/IsDev/Role/Matcher/Child/BaseName/MatchRegexp.pm # once (4µs+0s) by Perl::Critic::Policy::RegularExpressions::ProhibitEnumeratedClasses::BEGIN@12 at line 12 of Perl/Critic/Policy/RegularExpressions/ProhibitEnumeratedClasses.pm # once (4µs+0s) by Perl::Critic::Policy::RegularExpressions::RequireBracesForMultiline::BEGIN@12 at line 12 of Perl/Critic/Policy/RegularExpressions/RequireBracesForMultiline.pm # once (4µs+0s) by Perl::Critic::Exception::Configuration::Option::BEGIN@12 at line 12 of Perl/Critic/Exception/Configuration/Option.pm # once (4µs+0s) by Pod::Wordlist::BEGIN@3 at line 3 of Pod/Wordlist.pm # once (4µs+0s) by Module::Runtime::BEGIN@3.23 at line 3 of Path/IsDev/NegativeHeuristic/IsDev/IgnoreFile.pm # once (4µs+0s) by Perl::Critic::Policy::Subroutines::RequireFinalReturn::BEGIN@12 at line 12 of Perl/Critic/Policy/Subroutines/RequireFinalReturn.pm # once (4µs+0s) by Perl::Critic::Policy::ValuesAndExpressions::ProhibitComplexVersion::BEGIN@12 at line 12 of Perl/Critic/Policy/ValuesAndExpressions/ProhibitComplexVersion.pm # once (4µs+0s) by Perl::Critic::Policy::RegularExpressions::RequireLineBoundaryMatching::BEGIN@12 at line 12 of Perl/Critic/Policy/RegularExpressions/RequireLineBoundaryMatching.pm # once (4µs+0s) by Perl::Critic::Policy::CodeLayout::RequireTidyCode::BEGIN@12 at line 12 of Perl/Critic/Policy/CodeLayout/RequireTidyCode.pm # once (4µs+0s) by Perl::Critic::Policy::Variables::ProhibitPackageVars::BEGIN@12 at line 12 of Perl/Critic/Policy/Variables/ProhibitPackageVars.pm # once (4µs+0s) by Perl::Critic::Policy::ValuesAndExpressions::ProhibitLeadingZeros::BEGIN@12 at line 12 of Perl/Critic/Policy/ValuesAndExpressions/ProhibitLeadingZeros.pm # once (4µs+0s) by Exporter::Tiny::BEGIN@5 at line 5 of Exporter/Tiny.pm # once (4µs+0s) by Perl::Critic::Policy::Subroutines::ProhibitReturnSort::BEGIN@12 at line 12 of Perl/Critic/Policy/Subroutines/ProhibitReturnSort.pm # once (4µs+0s) by mro::BEGIN@11 at line 11 of mro.pm # once (4µs+0s) by Role::Tiny::BEGIN@3.75 at line 3 of Path/IsDev/Role/Matcher/Child/BaseName/MatchRegexp/File.pm # once (4µs+0s) by File::ShareDir::ProjectDistDir::BEGIN@3.16 at line 3 of Path/Tiny.pm # once (4µs+0s) by Perl::Critic::Policy::TestingAndDebugging::ProhibitProlongedStrictureOverride::BEGIN@12 at line 12 of Perl/Critic/Policy/TestingAndDebugging/ProhibitProlongedStrictureOverride.pm # once (4µs+0s) by Perl::Critic::Policy::Modules::RequireNoMatchVarsWithUseEnglish::BEGIN@12 at line 12 of Perl/Critic/Policy/Modules/RequireNoMatchVarsWithUseEnglish.pm # once (4µs+0s) by Module::Runtime::BEGIN@3.59 at line 3 of Path/IsDev/Heuristic/Tool/MakeMaker.pm # once (4µs+0s) by Perl::Critic::Policy::Variables::RequireLocalizedPunctuationVars::BEGIN@12 at line 12 of Perl/Critic/Policy/Variables/RequireLocalizedPunctuationVars.pm # once (4µs+0s) by Perl::Critic::Policy::ValuesAndExpressions::ProhibitMismatchedOperators::BEGIN@11 at line 11 of Perl/Critic/Policy/ValuesAndExpressions/ProhibitMismatchedOperators.pm # once (4µs+0s) by Perl::Critic::Policy::RegularExpressions::ProhibitEscapedMetacharacters::BEGIN@12 at line 12 of Perl/Critic/Policy/RegularExpressions/ProhibitEscapedMetacharacters.pm # once (4µs+0s) by Perl::Critic::Policy::TestingAndDebugging::RequireUseWarnings::BEGIN@12 at line 12 of Perl/Critic/Policy/TestingAndDebugging/RequireUseWarnings.pm # once (4µs+0s) by Perl::Critic::Exception::BEGIN@12 at line 12 of Perl/Critic/Exception.pm # once (4µs+0s) by Perl::Critic::Policy::RegularExpressions::ProhibitFixedStringMatches::BEGIN@12 at line 12 of Perl/Critic/Policy/RegularExpressions/ProhibitFixedStringMatches.pm # once (4µs+0s) by Perl::Critic::Policy::TestingAndDebugging::RequireTestLabels::BEGIN@12 at line 12 of Perl/Critic/Policy/TestingAndDebugging/RequireTestLabels.pm # once (4µs+0s) by Perl::Critic::Policy::ValuesAndExpressions::ProhibitImplicitNewlines::BEGIN@12 at line 12 of Perl/Critic/Policy/ValuesAndExpressions/ProhibitImplicitNewlines.pm # once (4µs+0s) by Perl::Critic::Utils::DataConversion::BEGIN@12 at line 12 of Perl/Critic/Utils/DataConversion.pm # once (4µs+0s) by Perl::Critic::Policy::InputOutput::RequireBriefOpen::BEGIN@12 at line 12 of Perl/Critic/Policy/InputOutput/RequireBriefOpen.pm # once (4µs+0s) by Perl::Critic::Policy::Subroutines::ProhibitUnusedPrivateSubroutines::BEGIN@13 at line 13 of Perl/Critic/Policy/Subroutines/ProhibitUnusedPrivateSubroutines.pm # once (4µs+0s) by Perl::Critic::Policy::ValuesAndExpressions::ProhibitMixedBooleanOperators::BEGIN@12 at line 12 of Perl/Critic/Policy/ValuesAndExpressions/ProhibitMixedBooleanOperators.pm # once (4µs+0s) by Perl::Critic::PolicyParameter::Behavior::StringList::BEGIN@12 at line 12 of Perl/Critic/PolicyParameter/Behavior/StringList.pm # once (4µs+0s) by Perl::Critic::Policy::Subroutines::ProhibitExcessComplexity::BEGIN@12 at line 12 of Perl/Critic/Policy/Subroutines/ProhibitExcessComplexity.pm # once (4µs+0s) by Perl::Critic::Policy::Variables::RequireNegativeIndices::BEGIN@12 at line 12 of Perl/Critic/Policy/Variables/RequireNegativeIndices.pm # once (4µs+0s) by Perl::Critic::Policy::ControlStructures::ProhibitDeepNests::BEGIN@12 at line 12 of Perl/Critic/Policy/ControlStructures/ProhibitDeepNests.pm # once (4µs+0s) by Perl::Critic::PolicyParameter::Behavior::BEGIN@12 at line 12 of Perl/Critic/PolicyParameter/Behavior.pm # once (4µs+0s) by Perl::Critic::Policy::ErrorHandling::RequireCarping::BEGIN@12 at line 12 of Perl/Critic/Policy/ErrorHandling/RequireCarping.pm # once (4µs+0s) by Module::Runtime::BEGIN@3.51 at line 3 of Path/IsDev/Heuristic/Tool/Dzil.pm # once (4µs+0s) by Perl::Critic::Utils::Perl::BEGIN@12 at line 12 of Perl/Critic/Utils/Perl.pm # once (4µs+0s) by Perl::Critic::Policy::ControlStructures::ProhibitUntilBlocks::BEGIN@12 at line 12 of Perl/Critic/Policy/ControlStructures/ProhibitUntilBlocks.pm # once (4µs+0s) by Perl::Critic::PolicyParameter::Behavior::Enumeration::BEGIN@12 at line 12 of Perl/Critic/PolicyParameter/Behavior/Enumeration.pm # once (4µs+0s) by Perl::Critic::Policy::ValuesAndExpressions::ProhibitSpecialLiteralHeredocTerminator::BEGIN@12 at line 12 of Perl/Critic/Policy/ValuesAndExpressions/ProhibitSpecialLiteralHeredocTerminator.pm # once (4µs+0s) by File::ShareDir::ProjectDistDir::BEGIN@3 at line 3 of Path/IsDev.pm # once (4µs+0s) by Perl::Critic::Policy::Modules::ProhibitAutomaticExportation::BEGIN@12 at line 12 of Perl/Critic/Policy/Modules/ProhibitAutomaticExportation.pm # once (4µs+0s) by Perl::Critic::Exception::Configuration::Option::Policy::ParameterValue::BEGIN@12 at line 12 of Perl/Critic/Exception/Configuration/Option/Policy/ParameterValue.pm # once (4µs+0s) by Perl::Critic::Policy::Subroutines::ProtectPrivateSubs::BEGIN@13 at line 13 of Perl/Critic/Policy/Subroutines/ProtectPrivateSubs.pm # once (4µs+0s) by Role::Tiny::BEGIN@3.27 at line 3 of Path/IsDev/Role/NegativeHeuristic.pm # once (4µs+0s) by Perl::Critic::Policy::Variables::ProhibitPerl4PackageNames::BEGIN@12 at line 12 of Perl/Critic/Policy/Variables/ProhibitPerl4PackageNames.pm # once (4µs+0s) by Perl::Critic::PolicyParameter::Behavior::Integer::BEGIN@12 at line 12 of Perl/Critic/PolicyParameter/Behavior/Integer.pm # once (4µs+0s) by Perl::Critic::PolicyParameter::Behavior::Boolean::BEGIN@12 at line 12 of Perl/Critic/PolicyParameter/Behavior/Boolean.pm # once (4µs+0s) by Perl::Critic::Utils::McCabe::BEGIN@12 at line 12 of Perl/Critic/Utils/McCabe.pm # once (4µs+0s) by Module::Runtime::BEGIN@3.67 at line 3 of Path/IsDev/Heuristic/META.pm # once (4µs+0s) by Perl::Critic::Policy::Modules::RequireEndWithOne::BEGIN@12 at line 12 of Perl/Critic/Policy/Modules/RequireEndWithOne.pm # once (4µs+0s) by Perl::Critic::Policy::Variables::ProhibitUnusedVariables::BEGIN@12 at line 12 of Perl/Critic/Policy/Variables/ProhibitUnusedVariables.pm # once (4µs+0s) by Perl::Critic::Policy::Modules::ProhibitEvilModules::BEGIN@11 at line 11 of Perl/Critic/Policy/Modules/ProhibitEvilModules.pm # once (4µs+0s) by Perl::Critic::Policy::ValuesAndExpressions::ProhibitVersionStrings::BEGIN@12 at line 12 of Perl/Critic/Policy/ValuesAndExpressions/ProhibitVersionStrings.pm # once (4µs+0s) by utf8::BEGIN@3 at line 3 of utf8_heavy.pl # once (4µs+0s) by Perl::Critic::PolicyParameter::BEGIN@12 at line 12 of Perl/Critic/PolicyParameter.pm # once (4µs+0s) by Perl::Critic::Policy::ValuesAndExpressions::ProhibitNoisyQuotes::BEGIN@12 at line 12 of Perl/Critic/Policy/ValuesAndExpressions/ProhibitNoisyQuotes.pm # once (4µs+0s) by Perl::Critic::Exception::Configuration::Option::Global::BEGIN@12 at line 12 of Perl/Critic/Exception/Configuration/Option/Global.pm # once (4µs+0s) by Module::Runtime::BEGIN@3.63 at line 3 of Path/IsDev/Heuristic/Tool/ModuleBuild.pm # once (4µs+0s) by Perl::Critic::Policy::NamingConventions::Capitalization::BEGIN@12 at line 12 of Perl/Critic/Policy/NamingConventions/Capitalization.pm # once (4µs+0s) by PPIx::Utilities::Statement::BEGIN@12 at line 12 of PPIx/Utilities/Statement.pm # once (4µs+0s) by Perl::Critic::Policy::Subroutines::ProhibitNestedSubs::BEGIN@12 at line 12 of Perl/Critic/Policy/Subroutines/ProhibitNestedSubs.pm # once (4µs+0s) by Perl::Critic::Policy::CodeLayout::ProhibitParensWithBuiltins::BEGIN@12 at line 12 of Perl/Critic/Policy/CodeLayout/ProhibitParensWithBuiltins.pm # once (4µs+0s) by Perl::Critic::Policy::Miscellanea::ProhibitUselessNoCritic::BEGIN@12 at line 12 of Perl/Critic/Policy/Miscellanea/ProhibitUselessNoCritic.pm # once (4µs+0s) by Perl::Critic::Policy::Miscellanea::ProhibitFormats::BEGIN@12 at line 12 of Perl/Critic/Policy/Miscellanea/ProhibitFormats.pm # once (4µs+0s) by Perl::Critic::Policy::Variables::ProtectPrivateVars::BEGIN@12 at line 12 of Perl/Critic/Policy/Variables/ProtectPrivateVars.pm # once (4µs+0s) by Perl::Critic::Policy::RegularExpressions::RequireExtendedFormatting::BEGIN@12 at line 12 of Perl/Critic/Policy/RegularExpressions/RequireExtendedFormatting.pm # once (4µs+0s) by Perl::Critic::Exception::Configuration::Option::Global::ParameterValue::BEGIN@12 at line 12 of Perl/Critic/Exception/Configuration/Option/Global/ParameterValue.pm # once (4µs+0s) by Perl::Critic::Utils::POD::ParseInteriorSequence::BEGIN@12 at line 12 of Perl/Critic/Utils/POD/ParseInteriorSequence.pm # once (4µs+0s) by Perl::Critic::Policy::Objects::ProhibitIndirectSyntax::BEGIN@12 at line 12 of Perl/Critic/Policy/Objects/ProhibitIndirectSyntax.pm # once (4µs+0s) by Perl::Critic::Policy::References::ProhibitDoubleSigils::BEGIN@12 at line 12 of Perl/Critic/Policy/References/ProhibitDoubleSigils.pm # once (4µs+0s) by Perl::Critic::Policy::ValuesAndExpressions::ProhibitLongChainsOfMethodCalls::BEGIN@12 at line 12 of Perl/Critic/Policy/ValuesAndExpressions/ProhibitLongChainsOfMethodCalls.pm # once (4µs+0s) by Perl::Critic::Policy::Modules::ProhibitConditionalUseStatements::BEGIN@12 at line 12 of Perl/Critic/Policy/Modules/ProhibitConditionalUseStatements.pm # once (4µs+0s) by Perl::Critic::Policy::Subroutines::ProhibitExplicitReturnUndef::BEGIN@12 at line 12 of Perl/Critic/Policy/Subroutines/ProhibitExplicitReturnUndef.pm # once (4µs+0s) by Role::Tiny::BEGIN@3.31 at line 3 of Path/IsDev/Role/Matcher/Child/Exists/Any/File.pm # once (4µs+0s) by Perl::Critic::Policy::Variables::RequireLexicalLoopIterators::BEGIN@12 at line 12 of Perl/Critic/Policy/Variables/RequireLexicalLoopIterators.pm # once (4µs+0s) by Perl::Critic::Policy::BEGIN@12 at line 12 of Perl/Critic/Policy.pm # once (4µs+0s) by Perl::Critic::Policy::ValuesAndExpressions::RequireInterpolationOfMetachars::BEGIN@12 at line 12 of Perl/Critic/Policy/ValuesAndExpressions/RequireInterpolationOfMetachars.pm # once (4µs+0s) by IO::BEGIN@8 at line 8 of IO.pm # once (4µs+0s) by Perl::Critic::Config::BEGIN@12 at line 12 of Perl/Critic/Config.pm # once (4µs+0s) by Perl::Critic::Policy::Variables::ProhibitMatchVars::BEGIN@12 at line 12 of Perl/Critic/Policy/Variables/ProhibitMatchVars.pm # once (4µs+0s) by Role::Tiny::With::BEGIN@4 at line 4 of Role/Tiny/With.pm # once (4µs+0s) by Perl::Critic::Policy::Miscellanea::ProhibitTies::BEGIN@12 at line 12 of Perl/Critic/Policy/Miscellanea/ProhibitTies.pm # once (4µs+0s) by charnames::BEGIN@3 at line 3 of charnames.pm # once (4µs+0s) by Perl::Critic::Policy::InputOutput::RequireCheckedSyscalls::BEGIN@12 at line 12 of Perl/Critic/Policy/InputOutput/RequireCheckedSyscalls.pm # once (4µs+0s) by Perl::Critic::PolicyFactory::BEGIN@12 at line 12 of Perl/Critic/PolicyFactory.pm # once (4µs+0s) by Perl::Critic::Policy::ControlStructures::ProhibitLabelsWithSpecialBlockNames::BEGIN@12 at line 12 of Perl/Critic/Policy/ControlStructures/ProhibitLabelsWithSpecialBlockNames.pm # once (4µs+0s) by Perl::Critic::Policy::ControlStructures::ProhibitCStyleForLoops::BEGIN@12 at line 12 of Perl/Critic/Policy/ControlStructures/ProhibitCStyleForLoops.pm # once (4µs+0s) by Perl::Critic::Policy::Subroutines::ProhibitManyArgs::BEGIN@12 at line 12 of Perl/Critic/Policy/Subroutines/ProhibitManyArgs.pm # once (4µs+0s) by Perl::Critic::Policy::CodeLayout::ProhibitHardTabs::BEGIN@12 at line 12 of Perl/Critic/Policy/CodeLayout/ProhibitHardTabs.pm # once (4µs+0s) by Perl::Critic::Policy::Variables::ProhibitPunctuationVars::BEGIN@12 at line 12 of Perl/Critic/Policy/Variables/ProhibitPunctuationVars.pm # once (4µs+0s) by Perl::Critic::Policy::Modules::RequireExplicitPackage::BEGIN@12 at line 12 of Perl/Critic/Policy/Modules/RequireExplicitPackage.pm # once (4µs+0s) by Perl::Critic::Policy::ValuesAndExpressions::RequireConstantVersion::BEGIN@12 at line 12 of Perl/Critic/Policy/ValuesAndExpressions/RequireConstantVersion.pm # once (4µs+0s) by Perl::Critic::Exception::AggregateConfiguration::BEGIN@12 at line 12 of Perl/Critic/Exception/AggregateConfiguration.pm # once (4µs+0s) by Perl::Critic::Policy::ControlStructures::ProhibitUnreachableCode::BEGIN@12 at line 12 of Perl/Critic/Policy/ControlStructures/ProhibitUnreachableCode.pm # once (4µs+0s) by Sub::Exporter::BEGIN@2 at line 2 of Data/OptList.pm # once (3µs+0s) by Path::IsDev::BEGIN@3 at line 3 of Sub/Exporter.pm # once (3µs+0s) by Data::OptList::BEGIN@2 at line 2 of Sub/Install.pm # once (3µs+0s) by Role::Tiny::BEGIN@7 at line 7 of Role/Tiny.pm # once (3µs+0s) by Perl::Critic::Policy::ValuesAndExpressions::RequireInterpolationOfMetachars::BEGIN@2 at line 2 of Email/Address.pm # once (3µs+0s) by re::BEGIN@5 at line 5 of re.pm
{
40732836µs shift;
408
409328372µs my $mask = ${^WARNING_BITS} // ($^W ? $Bits{all} : $DEFAULT) ;
410
411328202µs if (vec($mask, $Offsets{'all'}, 1)) {
4129839µs $mask |= $Bits{'all'} ;
4139854µs $mask |= $DeadBits{'all'} if vec($mask, $Offsets{'all'}+1, 1);
414 }
415
416 # Empty @_ is equivalent to @_ = 'all' ;
4173281.73ms ${^WARNING_BITS} = @_ ? _bits($mask, @_) : $mask | $Bits{all} ;
418}
419
420sub unimport
421
# spent 277µs within warnings::unimport which was called 25 times, avg 11µs/call: # once (18µs+0s) by Exporter::Tiny::BEGIN@5.2 at line 5 of Exporter/Tiny.pm # once (16µs+0s) by _charnames::BEGIN@163 at line 163 of _charnames.pm # once (14µs+0s) by utf8::BEGIN@149 at line 149 of utf8_heavy.pl # once (14µs+0s) by Text::ParseWords::BEGIN@62 at line 62 of Text/ParseWords.pm # once (14µs+0s) by File::ShareDir::ProjectDistDir::BEGIN@257 at line 257 of File/ShareDir/ProjectDistDir.pm # once (14µs+0s) by PPIx::Regexp::Node::BEGIN@125 at line 125 of PPIx/Regexp/Node.pm # once (13µs+0s) by Role::Tiny::BEGIN@366 at line 366 of Role/Tiny.pm # once (12µs+0s) by Carp::BEGIN@6 at line 24 of Carp.pm # once (12µs+0s) by Email::Address::BEGIN@403 at line 403 of Email/Address.pm # once (12µs+0s) by Module::Pluggable::BEGIN@67 at line 67 of Module/Pluggable.pm # once (12µs+0s) by Encode::Alias::BEGIN@4 at line 4 of Encode/Alias.pm # once (11µs+0s) by utf8::BEGIN@544 at line 544 of utf8_heavy.pl # once (10µs+0s) by Class::Tiny::Object::BEGIN@92 at line 92 of Class/Tiny.pm # once (10µs+0s) by Path::IsDev::Object::BEGIN@153 at line 153 of Path/IsDev/Object.pm # once (10µs+0s) by Encode::BEGIN@242 at line 242 of Encode.pm # once (10µs+0s) by English::BEGIN@52 at line 52 of English.pm # once (9µs+0s) by Class::Tiny::Object::BEGIN@149 at line 149 of Class/Tiny.pm # once (9µs+0s) by File::Copy::BEGIN@12.105 at line 12 of File/Copy.pm # once (9µs+0s) by Path::Tiny::BEGIN@39 at line 39 of Path/Tiny.pm # once (9µs+0s) by Role::Tiny::BEGIN@432 at line 432 of Role/Tiny.pm # once (8µs+0s) by Email::Address::BEGIN@465 at line 465 of Email/Address.pm # once (8µs+0s) by Carp::BEGIN@602 at line 602 of Carp.pm # once (8µs+0s) by Exporter::Heavy::BEGIN@202 at line 202 of Exporter/Heavy.pm # once (8µs+0s) by File::Glob::BEGIN@54 at line 54 of File/Glob.pm # once (7µs+0s) by Text::ParseWords::BEGIN@133 at line 133 of Text/ParseWords.pm
{
422254µs shift;
423
424254µs my $catmask ;
4252541µs my $mask = ${^WARNING_BITS} // ($^W ? $Bits{all} : $DEFAULT) ;
426
4272526µs if (vec($mask, $Offsets{'all'}, 1)) {
4281812µs $mask |= $Bits{'all'} ;
4291812µs $mask |= $DeadBits{'all'} if vec($mask, $Offsets{'all'}+1, 1);
430 }
431
432259µs push @_, 'all' unless @_;
433
4342522µs foreach my $word ( @_ ) {
4353279µs if ($word eq 'FATAL') {
436 next;
437 }
438 elsif ($catmask = $Bits{$word}) {
439 $mask &= ~($catmask | $DeadBits{$word} | $All);
440 }
441 else
442 { Croaker("Unknown warnings category '$word'")}
443 }
444
44525135µs ${^WARNING_BITS} = $mask ;
446}
447
44824µsmy %builtin_type; @builtin_type{qw(SCALAR ARRAY HASH CODE REF GLOB LVALUE Regexp)} = ();
449
450sub MESSAGE () { 4 };
451sub FATAL () { 2 };
452sub NORMAL () { 1 };
453
454sub __chk
455{
456 my $category ;
457 my $offset ;
458 my $isobj = 0 ;
459 my $wanted = shift;
460 my $has_message = $wanted & MESSAGE;
461
462 unless (@_ == 1 || @_ == ($has_message ? 2 : 0)) {
463 my $sub = (caller 1)[3];
464 my $syntax = $has_message ? "[category,] 'message'" : '[category]';
465 Croaker("Usage: $sub($syntax)");
466 }
467
468 my $message = pop if $has_message;
469
470 if (@_) {
471 # check the category supplied.
472 $category = shift ;
473 if (my $type = ref $category) {
474 Croaker("not an object")
475 if exists $builtin_type{$type};
476 $category = $type;
477 $isobj = 1 ;
478 }
479 $offset = $Offsets{$category};
480 Croaker("Unknown warnings category '$category'")
481 unless defined $offset;
482 }
483 else {
484 $category = (caller(1))[0] ;
485 $offset = $Offsets{$category};
486 Croaker("package '$category' not registered for warnings")
487 unless defined $offset ;
488 }
489
490 my $i;
491
492 if ($isobj) {
493 my $pkg;
494 $i = 2;
495 while (do { { package DB; $pkg = (caller($i++))[0] } } ) {
496 last unless @DB::args && $DB::args[0] =~ /^$category=/ ;
497 }
498 $i -= 2 ;
499 }
500 else {
501 $i = _error_loc(); # see where Carp will allocate the error
502 }
503
504 # Default to 0 if caller returns nothing. Default to $DEFAULT if it
505 # explicitly returns undef.
506 my(@callers_bitmask) = (caller($i))[9] ;
507 my $callers_bitmask =
508 @callers_bitmask ? $callers_bitmask[0] // $DEFAULT : 0 ;
509
510 my @results;
511 foreach my $type (FATAL, NORMAL) {
512 next unless $wanted & $type;
513
514 push @results, (vec($callers_bitmask, $offset + $type - 1, 1) ||
515 vec($callers_bitmask, $Offsets{'all'} + $type - 1, 1));
516 }
517
518 # &enabled and &fatal_enabled
519 return $results[0] unless $has_message;
520
521 # &warnif, and the category is neither enabled as warning nor as fatal
522 return if $wanted == (NORMAL | FATAL | MESSAGE)
523 && !($results[0] || $results[1]);
524
525 require Carp;
526 Carp::croak($message) if $results[0];
527 # will always get here for &warn. will only get here for &warnif if the
528 # category is enabled
529 Carp::carp($message);
530}
531
532sub _mkMask
533
# spent 36µs within warnings::_mkMask which was called 10 times, avg 4µs/call: # 5 times (23µs+0s) by warnings::register_categories at line 547, avg 5µs/call # 5 times (13µs+0s) by warnings::register_categories at line 553, avg 3µs/call
{
534103µs my ($bit) = @_;
535102µs my $mask = "";
536
5371014µs vec($mask, $bit, 1) = 1;
5381034µs return $mask;
539}
540
541sub register_categories
542
# spent 362µs (325+36) within warnings::register_categories which was called 5 times, avg 72µs/call: # 5 times (325µs+36µs) by warnings::register::import at line 43 of warnings/register.pm, avg 72µs/call
{
54353µs my @names = @_;
544
545516µs for my $name (@names) {
54658µs if (! defined $Bits{$name}) {
54759µs523µs $Bits{$name} = _mkMask($LAST_BIT);
# spent 23µs making 5 calls to warnings::_mkMask, avg 5µs/call
54858µs vec($Bits{'all'}, $LAST_BIT, 1) = 1;
54953µs $Offsets{$name} = $LAST_BIT ++;
550537µs foreach my $k (keys %Bits) {
551295153µs vec($Bits{$k}, $LAST_BIT, 1) = 0;
552 }
55358µs513µs $DeadBits{$name} = _mkMask($LAST_BIT);
# spent 13µs making 5 calls to warnings::_mkMask, avg 3µs/call
55457µs vec($DeadBits{'all'}, $LAST_BIT++, 1) = 1;
555 }
556 }
557}
558
559sub _error_loc {
560 require Carp;
561 goto &Carp::short_error_loc; # don't introduce another stack frame
562}
563
564sub enabled
565{
566 return __chk(NORMAL, @_);
567}
568
569sub fatal_enabled
570{
571 return __chk(FATAL, @_);
572}
573
574sub warn
575{
576 return __chk(FATAL | MESSAGE, @_);
577}
578
579sub warnif
580{
581 return __chk(NORMAL | FATAL | MESSAGE, @_);
582}
583
584# These are not part of any public interface, so we can delete them to save
585# space.
58616µsdelete @warnings::{qw(NORMAL FATAL MESSAGE)};
587
588145µs1;
589
590# ex: set ro:
 
# spent 3µs within warnings::CORE:match which was called: # once (3µs+0s) by main::BEGIN@17 at line 12
sub warnings::CORE:match; # opcode
# spent 13µs within warnings::CORE:regcomp which was called: # once (13µs+0s) by main::BEGIN@17 at line 12
sub warnings::CORE:regcomp; # opcode