| 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 | File::Glob::BEGIN@3 |
| 1 | 1 | 1 | 8µs | 15µs | File::Glob::BEGIN@54 |
| 1 | 1 | 1 | 7µs | 18µs | File::Glob::BEGIN@58 |
| 1 | 1 | 1 | 2µs | 2µs | File::Glob::CORE:match (opcode) |
| 1 | 1 | 1 | 1µs | 1µs | File::Glob::GLOB_CSH (xsub) |
| 0 | 0 | 0 | 0s | 0s | File::Glob::glob |
| 0 | 0 | 0 | 0s | 0s | File::Glob::import |
| 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 |