File | /opt/wise/lib/perl5/5.10.0/vars.pm | Statements Executed | 1267 | Total Time | 0.004694 seconds |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine | |
---|---|---|---|---|---|---|
66 | 66 | 49 | 0.00432 | 0.00432 | vars:: | import |
0 | 0 | 0 | 0 | 0 | vars:: | BEGIN |
Line | Stmts. | Exclusive Time | Avg. | Code |
---|---|---|---|---|
1 | package vars; | |||
2 | ||||
3 | 3 | 6.6e-5 | 2.2e-5 | use 5.006; |
4 | ||||
5 | 1 | 1.0e-6 | 1.0e-6 | our $VERSION = '1.01'; |
6 | ||||
7 | 3 | 0.00039 | 0.00013 | use warnings::register; # spent 117µs making 1 call to warnings::register::import |
8 | 3 | 0.00038 | 0.00013 | use strict qw(vars subs); # spent 22µs making 1 call to strict::import |
9 | ||||
10 | # spent 4.32ms within vars::import which was called 66 times, avg 65µs/call:
# once (385µs+0) by WISE::IPACTbl::BEGIN at line 13 of /wise/base/deliv/dev/lib/perl/WISE/IPACTbl.pm
# once (125µs+0) at line 16 of /wise/base/static/lib/perl5/site_perl/5.10.0/x86_64-linux-thread-multi/DBI/Const/GetInfoType.pm
# once (120µs+0) at line 16 of /wise/base/deliv/dev/lib/perl/WISE/UtilsLight.pm
# once (106µs+0) at line 7 of /wise/base/static/lib/perl5/site_perl/5.10.0/x86_64-linux-thread-multi/Astro/WCS/LibWCS.pm
# once (103µs+0) at line 12 of /wise/base/deliv/dev/lib/perl/FITSIO.pm
# once (102µs+0) at line 37 of /wise/base/static/lib/perl5/site_perl/5.10.0/Astro/Time.pm
# once (99µs+0) at line 17 of /wise/base/deliv/dev/lib/perl/WISE/FITSIO/Utils.pm
# once (98µs+0) at line 7 of /wise/base/deliv/dev/lib/perl/WISE/CoUtils.pm
# once (93µs+0) by Clone::BEGIN at line 6 of /wise/base/static/lib/perl5/site_perl/5.10.0/x86_64-linux-thread-multi/Clone.pm
# once (90µs+0) at line 17 of /wise/base/static/lib/perl5/site_perl/5.10.0/Carp/Clan.pm
# once (85µs+0) at line 4 of /opt/wise/lib/perl5/5.10.0/x86_64-linux-thread-multi/Time/HiRes.pm
# once (85µs+0) at line 6 of /wise/base/static/lib/perl5/site_perl/5.10.0/x86_64-linux-thread-multi/Astro/FITS/CFITSIO.pm
# once (82µs+0) at line 172 of /opt/wise/lib/perl5/5.10.0/x86_64-linux-thread-multi/Cwd.pm
# once (82µs+0) at line 10 of /opt/wise/lib/perl5/5.10.0/Math/Complex.pm
# once (80µs+0) by WISE::IPACTblXS::BEGIN at line 8 of /wise/base/deliv/dev/lib/perl/x86_64-linux-thread-multi/WISE/IPACTblXS.pm
# once (76µs+0) by List::Util::BEGIN at line 10 of /opt/wise/lib/perl5/5.10.0/x86_64-linux-thread-multi/List/Util.pm
# once (75µs+0) by WISE::CHealPix::BEGIN at line 11 of /wise/base/deliv/dev/lib/perl/x86_64-linux-thread-multi/WISE/CHealPix.pm
# once (74µs+0) at line 44 of /wise/base/deliv/dev/lib/perl/WISE/Params.pm
# once (74µs+0) at line 31 of /wise/base/static/lib/perl5/site_perl/5.10.0/Astro/Coord.pm
# once (73µs+0) at line 3 of /wise/base/deliv/dev/lib/perl/WISE/Dumper.pm
# once (72µs+0) at line 12 of /wise/base/deliv/dev/lib/perl/WISE/FITSIO.pm
# once (68µs+0) at line 12 of /wise/base/deliv/dev/lib/perl/WISE/BandUtils.pm
# once (68µs+0) at line 14 of /wise/base/deliv/dev/lib/perl/WISE/Utils.pm
# once (68µs+0) at line 3 of /opt/wise/lib/perl5/5.10.0/Text/ParseWords.pm
# once (67µs+0) at line 8 of /wise/base/deliv/dev/lib/perl/WISE/Time.pm
# once (67µs+0) at line 10 of /wise/base/deliv/dev/lib/perl/WISE/IOUtils.pm
# once (65µs+0) by POSIX::SigRt::BEGIN at line 73 of /opt/wise/lib/perl5/5.10.0/x86_64-linux-thread-multi/POSIX.pm
# once (65µs+0) at line 120 of /wise/base/static/lib/perl5/site_perl/5.10.0/Time/Timezone.pm
# once (65µs+0) at line 8 of /wise/base/static/lib/perl5/site_perl/5.10.0/WISE/Env.pm
# once (63µs+0) at line 21 of /wise/base/deliv/dev/lib/perl/WISE/Wrap.pm
# once (63µs+0) at line 9 of /opt/wise/lib/perl5/5.10.0/Time/Local.pm
# once (62µs+0) by FITSIO::BEGIN or FITSIO::reform_tbl at line 1530 of /wise/base/deliv/dev/lib/perl/FITSIO.pm
# once (61µs+0) by WISE::Spawn::BEGIN at line 1082 of /wise/base/deliv/dev/lib/perl/WISE/Spawn.pm
# once (60µs+0) by File::Slurp::BEGIN at line 61 of /wise/base/static/lib/perl5/site_perl/5.10.0/File/Slurp.pm
# once (60µs+0) at line 2011 of /wise/base/deliv/dev/lib/perl/WISE/Wrap.pm
# once (59µs+0) at line 1364 of /wise/base/deliv/dev/lib/perl/WISE/UtilsLight.pm
# once (58µs+0) at line 13 of /wise/base/deliv/dev/lib/perl/WISE/Wrap.pm
# once (58µs+0) at line 49 of /wise/base/static/lib/perl5/site_perl/5.10.0/Class/Inspector.pm
# once (58µs+0) at line 27 of /wise/base/deliv/dev/lib/perl/WISE/CoUtils.pm
# once (53µs+0) at line 9 of /wise/base/static/lib/perl5/site_perl/5.10.0/x86_64-linux-thread-multi/DBD/SQLite.pm
# once (52µs+0) at line 19 of /opt/wise/lib/perl5/5.10.0/File/Path.pm
# once (49µs+0) by Scalar::Util::BEGIN at line 10 of /opt/wise/lib/perl5/5.10.0/x86_64-linux-thread-multi/Scalar/Util.pm
# once (49µs+0) by WISE::Release::BEGIN at line 10 of /wise/base/deliv/dev/lib/perl/WISE/Release.pm
# once (48µs+0) at line 14 of /wise/base/deliv/dev/lib/perl/WISE/Spawn.pm
# once (46µs+0) at line 24 of /opt/wise/lib/perl5/5.10.0/x86_64-linux-thread-multi/Storable.pm
# once (45µs+0) at line 8 of /wise/base/static/lib/perl5/site_perl/5.10.0/x86_64-linux-thread-multi/DBD/SQLite.pm
# once (44µs+0) at line 9 of /opt/wise/lib/perl5/5.10.0/Text/Tabs.pm
# once (43µs+0) by WISE::CoUtilsXS::BEGIN at line 4 of /wise/base/deliv/dev/lib/perl/x86_64-linux-thread-multi/WISE/CoUtilsXS.pm
# once (43µs+0) at line 1970 of /wise/base/deliv/dev/lib/perl/WISE/Utils.pm
# once (41µs+0) at line 675 of /wise/base/deliv/dev/lib/perl/WISE/Time.pm
# once (41µs+0) at line 4 of /opt/wise/lib/perl5/5.10.0/File/Spec/Unix.pm
# once (40µs+0) by File::Spec::BEGIN at line 4 of /opt/wise/lib/perl5/5.10.0/File/Spec.pm
# once (35µs+0) by Data::Page::BEGIN at line 7 of /wise/base/static/lib/perl5/site_perl/5.10.0/Data/Page.pm
# once (35µs+0) at line 53 of /wise/base/deliv/dev/lib/perl/WISE/Params.pm
# once (34µs+0) by WISE::DB::FrameIndex::BEGIN at line 494 of /wise/base/deliv/dev/lib/perl/WISE/DB/FrameIndex.pm
# once (34µs+0) at line 40 of /wise/base/deliv/dev/lib/perl/WISE/UtilsLight.pm
# once (33µs+0) at line 6 of /opt/wise/lib/perl5/5.10.0/constant.pm
# once (32µs+0) at line 853 of /wise/base/deliv/dev/lib/perl/WISE/IPACTbl.pm
# once (28µs+0) at line 8 of /wise/base/deliv/dev/lib/perl/WISE/Utils.pm
# once (27µs+0) at line 4 of /opt/wise/lib/perl5/5.10.0/base.pm
# once (27µs+0) by Scope::Guard::BEGIN at line 6 of /wise/base/static/lib/perl5/site_perl/5.10.0/Scope/Guard.pm
# once (27µs+0) at line 42 of /wise/base/deliv/dev/lib/perl/WISE/UtilsLight.pm
# once (25µs+0) at line 6 of /wise/base/static/lib/perl5/site_perl/5.10.0/DBIx/Class.pm
# once (25µs+0) at line 16 of /wise/base/static/lib/perl5/site_perl/5.10.0/Time/Timezone.pm
# once (23µs+0) by Time::Timezone::tz2zone at line 24 of /wise/base/static/lib/perl5/site_perl/5.10.0/Time/Timezone.pm
# once (22µs+0) at line 41 of /wise/base/deliv/dev/lib/perl/WISE/UtilsLight.pm | |||
11 | 66 | 9.5e-5 | 1.4e-6 | my $callpack = caller; |
12 | 66 | 0.00031 | 4.7e-6 | my ($pack, @imports) = @_; |
13 | 66 | 4.3e-5 | 6.5e-7 | my ($sym, $ch); |
14 | 66 | 0.00021 | 3.2e-6 | foreach (@imports) { |
15 | 248 | 0.00129 | 5.2e-6 | if (($ch, $sym) = /^([\$\@\%\*\&])(.+)/) { |
16 | 248 | 0.00022 | 8.9e-7 | if ($sym =~ /\W/) { |
17 | # time for a more-detailed check-up | |||
18 | if ($sym =~ /^\w+[[{].*[]}]$/) { | |||
19 | require Carp; | |||
20 | Carp::croak("Can't declare individual elements of hash or array"); | |||
21 | } elsif (warnings::enabled() and length($sym) == 1 and $sym !~ tr/a-zA-Z//) { | |||
22 | warnings::warn("No need to declare built-in vars"); | |||
23 | } elsif (($^H &= strict::bits('vars'))) { | |||
24 | require Carp; | |||
25 | Carp::croak("'$_' is not a valid variable name under strict vars"); | |||
26 | } | |||
27 | } | |||
28 | 248 | 0.00035 | 1.4e-6 | $sym = "${callpack}::$sym" unless $sym =~ /::/; |
29 | *$sym = | |||
30 | ( $ch eq "\$" ? \$$sym | |||
31 | : $ch eq "\@" ? \@$sym | |||
32 | : $ch eq "\%" ? \%$sym | |||
33 | : $ch eq "\*" ? \*$sym | |||
34 | : $ch eq "\&" ? \&$sym | |||
35 | 248 | 0.00132 | 5.3e-6 | : do { |
36 | require Carp; | |||
37 | Carp::croak("'$_' is not a valid variable name"); | |||
38 | }); | |||
39 | } else { | |||
40 | require Carp; | |||
41 | Carp::croak("'$_' is not a valid variable name"); | |||
42 | } | |||
43 | } | |||
44 | }; | |||
45 | ||||
46 | 1 | 4.0e-6 | 4.0e-6 | 1; |
47 | __END__ | |||
48 | ||||
49 | =head1 NAME | |||
50 | ||||
51 | vars - Perl pragma to predeclare global variable names (obsolete) | |||
52 | ||||
53 | =head1 SYNOPSIS | |||
54 | ||||
55 | use vars qw($frob @mung %seen); | |||
56 | ||||
57 | =head1 DESCRIPTION | |||
58 | ||||
59 | NOTE: For variables in the current package, the functionality provided | |||
60 | by this pragma has been superseded by C<our> declarations, available | |||
61 | in Perl v5.6.0 or later. See L<perlfunc/our>. | |||
62 | ||||
63 | This will predeclare all the variables whose names are | |||
64 | in the list, allowing you to use them under "use strict", and | |||
65 | disabling any typo warnings. | |||
66 | ||||
67 | Unlike pragmas that affect the C<$^H> hints variable, the C<use vars> and | |||
68 | C<use subs> declarations are not BLOCK-scoped. They are thus effective | |||
69 | for the entire file in which they appear. You may not rescind such | |||
70 | declarations with C<no vars> or C<no subs>. | |||
71 | ||||
72 | Packages such as the B<AutoLoader> and B<SelfLoader> that delay | |||
73 | loading of subroutines within packages can create problems with | |||
74 | package lexicals defined using C<my()>. While the B<vars> pragma | |||
75 | cannot duplicate the effect of package lexicals (total transparency | |||
76 | outside of the package), it can act as an acceptable substitute by | |||
77 | pre-declaring global symbols, ensuring their availability to the | |||
78 | later-loaded routines. | |||
79 | ||||
80 | See L<perlmodlib/Pragmatic Modules>. | |||
81 | ||||
82 | =cut |