Filename | /usr/local/lib/perl5/5.24/mach/Scalar/Util.pm |
Statements | Executed 13 statements in 930µs |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
1 | 1 | 1 | 41µs | 51µs | BEGIN@9 | Scalar::Util::
2 | 1 | 1 | 31µs | 31µs | tainted (xsub) | Scalar::Util::
3 | 3 | 1 | 22µs | 22µs | dualvar (xsub) | Scalar::Util::
0 | 0 | 0 | 0s | 0s | export_fail | Scalar::Util::
0 | 0 | 0 | 0s | 0s | set_prototype | Scalar::Util::
Line | State ments |
Time on line |
Calls | Time in subs |
Code |
---|---|---|---|---|---|
1 | # Copyright (c) 1997-2007 Graham Barr <gbarr@pobox.com>. All rights reserved. | ||||
2 | # This program is free software; you can redistribute it and/or | ||||
3 | # modify it under the same terms as Perl itself. | ||||
4 | # | ||||
5 | # Maintained since 2013 by Paul Evans <leonerd@leonerd.org.uk> | ||||
6 | |||||
7 | package Scalar::Util; | ||||
8 | |||||
9 | 2 | 554µs | 2 | 60µs | # spent 51µs (41+9) within Scalar::Util::BEGIN@9 which was called:
# once (41µs+9µs) by Net::DNS::Resolver::Base::BEGIN@46 at line 9 # spent 51µs making 1 call to Scalar::Util::BEGIN@9
# spent 9µs making 1 call to strict::import |
10 | 1 | 3µs | require Exporter; | ||
11 | |||||
12 | 1 | 15µs | our @ISA = qw(Exporter); | ||
13 | 1 | 6µs | our @EXPORT_OK = qw( | ||
14 | blessed refaddr reftype weaken unweaken isweak | ||||
15 | |||||
16 | dualvar isdual isvstring looks_like_number openhandle readonly set_prototype | ||||
17 | tainted | ||||
18 | ); | ||||
19 | 1 | 2µs | our $VERSION = "1.42_02"; | ||
20 | 1 | 27µs | $VERSION = eval $VERSION; # spent 6µs executing statements in string eval | ||
21 | |||||
22 | 1 | 255µs | require List::Util; # List::Util loads the XS | ||
23 | 1 | 42µs | 1 | 23µs | List::Util->VERSION( $VERSION ); # Ensure we got the right XS version (RT#100863) # spent 23µs making 1 call to version::_VERSION |
24 | |||||
25 | our @EXPORT_FAIL; | ||||
26 | |||||
27 | 1 | 2µs | unless (defined &weaken) { | ||
28 | push @EXPORT_FAIL, qw(weaken); | ||||
29 | } | ||||
30 | 1 | 2µs | unless (defined &isweak) { | ||
31 | push @EXPORT_FAIL, qw(isweak isvstring); | ||||
32 | } | ||||
33 | 1 | 1µs | unless (defined &isvstring) { | ||
34 | push @EXPORT_FAIL, qw(isvstring); | ||||
35 | } | ||||
36 | |||||
37 | sub export_fail { | ||||
38 | if (grep { /^(?:weaken|isweak)$/ } @_ ) { | ||||
39 | require Carp; | ||||
40 | Carp::croak("Weak references are not implemented in the version of perl"); | ||||
41 | } | ||||
42 | |||||
43 | if (grep { /^isvstring$/ } @_ ) { | ||||
44 | require Carp; | ||||
45 | Carp::croak("Vstrings are not implemented in the version of perl"); | ||||
46 | } | ||||
47 | |||||
48 | @_; | ||||
49 | } | ||||
50 | |||||
51 | # set_prototype has been moved to Sub::Util with a different interface | ||||
52 | sub set_prototype(&$) | ||||
53 | { | ||||
54 | my ( $code, $proto ) = @_; | ||||
55 | return Sub::Util::set_prototype( $proto, $code ); | ||||
56 | } | ||||
57 | |||||
58 | 1 | 22µs | 1; | ||
59 | |||||
60 | __END__ | ||||
# spent 22µs within Scalar::Util::dualvar which was called 3 times, avg 7µs/call:
# once (12µs+0s) by IO::Socket::SSL::BEGIN@247 at line 250 of IO/Socket/SSL.pm
# once (7µs+0s) by IO::Socket::SSL::BEGIN@291 at line 291 of IO/Socket/SSL.pm
# once (3µs+0s) by IO::Socket::SSL::BEGIN@293 at line 293 of IO/Socket/SSL.pm | |||||
# spent 31µs within Scalar::Util::tainted which was called 2 times, avg 16µs/call:
# 2 times (31µs+0s) by File::Spec::Unix::_tmpdir at line 185 of File/Spec/Unix.pm, avg 16µs/call |