Filename | /Users/timbo/perl5/perlbrew/perls/perl-5.18.2/lib/5.18.2/darwin-2level/File/Glob.pm |
Statements | Executed 18 statements in 613µs |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
1 | 1 | 1 | 12µs | 25µs | BEGIN@3 | File::Glob::
1 | 1 | 1 | 8µs | 15µs | BEGIN@54 | File::Glob::
1 | 1 | 1 | 7µs | 18µs | BEGIN@58 | File::Glob::
1 | 1 | 1 | 2µs | 2µs | CORE:match (opcode) | File::Glob::
1 | 1 | 1 | 1µs | 1µs | GLOB_CSH (xsub) | File::Glob::
0 | 0 | 0 | 0s | 0s | glob | File::Glob::
0 | 0 | 0 | 0s | 0s | import | File::Glob::
Line | State ments |
Time on line |
Calls | Time in subs |
Code |
---|---|---|---|---|---|
1 | package File::Glob; | ||||
2 | |||||
3 | 2 | 163µs | 2 | 38µs | # spent 25µs (12+13) within File::Glob::BEGIN@3 which was called:
# once (12µs+13µs) by Path::Tiny::BEGIN@238 at line 3 # spent 25µs making 1 call to File::Glob::BEGIN@3
# spent 13µs making 1 call to strict::import |
4 | 1 | 400ns | our($VERSION, @ISA, @EXPORT_OK, @EXPORT_FAIL, %EXPORT_TAGS, $DEFAULT_FLAGS); | ||
5 | |||||
6 | 1 | 400ns | require XSLoader; | ||
7 | |||||
8 | 1 | 6µs | @ISA = qw(Exporter); | ||
9 | |||||
10 | # NOTE: The glob() export is only here for compatibility with 5.6.0. | ||||
11 | # csh_glob() should not be used directly, unless you know what you're doing. | ||||
12 | |||||
13 | 1 | 4µs | %EXPORT_TAGS = ( | ||
14 | 'glob' => [ qw( | ||||
15 | GLOB_ABEND | ||||
16 | GLOB_ALPHASORT | ||||
17 | GLOB_ALTDIRFUNC | ||||
18 | GLOB_BRACE | ||||
19 | GLOB_CSH | ||||
20 | GLOB_ERR | ||||
21 | GLOB_ERROR | ||||
22 | GLOB_LIMIT | ||||
23 | GLOB_MARK | ||||
24 | GLOB_NOCASE | ||||
25 | GLOB_NOCHECK | ||||
26 | GLOB_NOMAGIC | ||||
27 | GLOB_NOSORT | ||||
28 | GLOB_NOSPACE | ||||
29 | GLOB_QUOTE | ||||
30 | GLOB_TILDE | ||||
31 | bsd_glob | ||||
32 | glob | ||||
33 | ) ], | ||||
34 | ); | ||||
35 | 1 | 3µs | $EXPORT_TAGS{bsd_glob} = [@{$EXPORT_TAGS{glob}}]; | ||
36 | 1 | 400ns | pop @{$EXPORT_TAGS{bsd_glob}}; # no "glob" | ||
37 | |||||
38 | 1 | 5µs | @EXPORT_OK = (@{$EXPORT_TAGS{'glob'}}, 'csh_glob'); | ||
39 | |||||
40 | 1 | 200ns | $VERSION = '1.20_01'; | ||
41 | |||||
42 | sub import { | ||||
43 | require Exporter; | ||||
44 | local $Exporter::ExportLevel = $Exporter::ExportLevel + 1; | ||||
45 | Exporter::import(grep { | ||||
46 | my $passthrough; | ||||
47 | if ($_ eq ':case') { | ||||
48 | $DEFAULT_FLAGS &= ~GLOB_NOCASE() | ||||
49 | } | ||||
50 | elsif ($_ eq ':nocase') { | ||||
51 | $DEFAULT_FLAGS |= GLOB_NOCASE(); | ||||
52 | } | ||||
53 | elsif ($_ eq ':globally') { | ||||
54 | 2 | 35µs | 2 | 23µs | # spent 15µs (8+8) within File::Glob::BEGIN@54 which was called:
# once (8µs+8µs) by Path::Tiny::BEGIN@238 at line 54 # spent 15µs making 1 call to File::Glob::BEGIN@54
# spent 8µs making 1 call to warnings::unimport |
55 | *CORE::GLOBAL::glob = \&File::Glob::csh_glob; | ||||
56 | } | ||||
57 | elsif ($_ eq ':bsd_glob') { | ||||
58 | 2 | 139µs | 2 | 29µs | # spent 18µs (7+11) within File::Glob::BEGIN@58 which was called:
# once (7µs+11µs) by Path::Tiny::BEGIN@238 at line 58 # spent 18µs making 1 call to File::Glob::BEGIN@58
# spent 11µs making 1 call to strict::unimport |
59 | $passthrough = 1; | ||||
60 | } | ||||
61 | else { | ||||
62 | $passthrough = 1; | ||||
63 | } | ||||
64 | $passthrough; | ||||
65 | } @_); | ||||
66 | } | ||||
67 | |||||
68 | 1 | 235µs | 1 | 227µs | XSLoader::load(); # spent 227µs making 1 call to XSLoader::load |
69 | |||||
70 | 1 | 6µs | 1 | 1µs | $DEFAULT_FLAGS = GLOB_CSH(); # spent 1µs making 1 call to File::Glob::GLOB_CSH |
71 | 1 | 6µs | 1 | 2µs | if ($^O =~ /^(?:MSWin32|VMS|os2|dos|riscos)$/) { # spent 2µs making 1 call to File::Glob::CORE:match |
72 | $DEFAULT_FLAGS |= GLOB_NOCASE(); | ||||
73 | } | ||||
74 | |||||
75 | # File::Glob::glob() is deprecated because its prototype is different from | ||||
76 | # CORE::glob() (use bsd_glob() instead) | ||||
77 | sub glob { | ||||
78 | splice @_, 1; # no flags | ||||
79 | goto &bsd_glob; | ||||
80 | } | ||||
81 | |||||
82 | 1 | 10µs | 1; | ||
83 | __END__ | ||||
# spent 2µs within File::Glob::CORE:match which was called:
# once (2µs+0s) by Path::Tiny::BEGIN@238 at line 71 | |||||
# spent 1µs within File::Glob::GLOB_CSH which was called:
# once (1µs+0s) by Path::Tiny::BEGIN@238 at line 70 |