← Index
NYTProf Performance Profile   « line view »
For /usr/local/libexec/sympa/task_manager-debug.pl
  Run on Tue Jun 1 22:32:51 2021
Reported on Tue Jun 1 22:35:02 2021

Filename/usr/local/lib/perl5/5.32/mach/lib.pm
StatementsExecuted 0 statements in 0s
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
0000s0slib::::BEGIN@6lib::BEGIN@6
0000s0slib::::BEGIN@8lib::BEGIN@8
0000s0slib::::CORE:ftdirlib::CORE:ftdir (opcode)
0000s0slib::::CORE:ftislib::CORE:ftis (opcode)
0000s0slib::::CORE:matchlib::CORE:match (opcode)
0000s0slib::::_get_dirslib::_get_dirs
0000s0slib::::importlib::import
0000s0slib::::unimportlib::unimport
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1package lib;
2
3# THIS FILE IS AUTOMATICALLY GENERATED FROM lib_pm.PL.
4# ANY CHANGES TO THIS FILE WILL BE OVERWRITTEN BY THE NEXT PERL BUILD.
5
6use Config;
7
8use strict;
9
10my $archname = $Config{archname};
11my $version = $Config{version};
12my @inc_version_list = reverse split / /, $Config{inc_version_list};
13
14
15our @ORIG_INC = @INC; # take a handy copy of 'original' value
16our $VERSION = '0.65';
17
18sub import {
19 shift;
20
21 my %names;
22 foreach (reverse @_) {
23 my $path = $_; # we'll be modifying it, so break the alias
24 if ($path eq '') {
25 require Carp;
26 Carp::carp("Empty compile time value given to use lib");
27 }
28
29 if ($path !~ /\.par$/i && -e $path && ! -d _) {
30 require Carp;
31 Carp::carp("Parameter to use lib must be directory, not file");
32 }
33 unshift(@INC, $path);
34 # Add any previous version directories we found at configure time
35 foreach my $incver (@inc_version_list)
36 {
37 my $dir = "$path/$incver";
38 unshift(@INC, $dir) if -d $dir;
39 }
40 # Put a corresponding archlib directory in front of $path if it
41 # looks like $path has an archlib directory below it.
42 my($arch_auto_dir, $arch_dir, $version_dir, $version_arch_dir)
43 = _get_dirs($path);
44 unshift(@INC, $arch_dir) if -d $arch_auto_dir;
45 unshift(@INC, $version_dir) if -d $version_dir;
46 unshift(@INC, $version_arch_dir) if -d $version_arch_dir;
47 }
48
49 # remove trailing duplicates
50 @INC = grep { ++$names{$_} == 1 } @INC;
51 return;
52}
53
54
55sub unimport {
56 shift;
57
58 my %names;
59 foreach my $path (@_) {
60 my($arch_auto_dir, $arch_dir, $version_dir, $version_arch_dir)
61 = _get_dirs($path);
62 ++$names{$path};
63 ++$names{$arch_dir} if -d $arch_auto_dir;
64 ++$names{$version_dir} if -d $version_dir;
65 ++$names{$version_arch_dir} if -d $version_arch_dir;
66 }
67
68 # Remove ALL instances of each named directory.
69 @INC = grep { !exists $names{$_} } @INC;
70 return;
71}
72
73sub _get_dirs {
74 my($dir) = @_;
75 my($arch_auto_dir, $arch_dir, $version_dir, $version_arch_dir);
76
77 $arch_auto_dir = "$dir/$archname/auto";
78 $arch_dir = "$dir/$archname";
79 $version_dir = "$dir/$version";
80 $version_arch_dir = "$dir/$version/$archname";
81
82 return($arch_auto_dir, $arch_dir, $version_dir, $version_arch_dir);
83}
84
851;
86__END__