line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
package charm; |
2
|
|
|
|
|
|
|
|
3
|
1
|
|
|
1
|
|
1511
|
use strict; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
28
|
|
4
|
1
|
|
|
1
|
|
5
|
use warnings; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
30
|
|
5
|
1
|
|
|
1
|
|
438
|
no bareword::filehandles; |
|
1
|
|
|
|
|
2857
|
|
|
1
|
|
|
|
|
7
|
|
6
|
|
|
|
|
|
|
|
7
|
1
|
|
|
1
|
|
486
|
use true (); |
|
1
|
|
|
|
|
5300
|
|
|
1
|
|
|
|
|
25
|
|
8
|
1
|
|
|
1
|
|
7
|
use feature (); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
13
|
|
9
|
1
|
|
|
1
|
|
855
|
use Path::Tiny (); |
|
1
|
|
|
|
|
10967
|
|
|
1
|
|
|
|
|
25
|
|
10
|
1
|
|
|
1
|
|
9
|
use Test::More (); |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
14
|
|
11
|
1
|
|
|
1
|
|
615
|
use Rex (); |
|
1
|
|
|
|
|
51699
|
|
|
1
|
|
|
|
|
27
|
|
12
|
1
|
|
|
1
|
|
14
|
use Rex::Commands (); |
|
1
|
|
|
|
|
17418
|
|
|
1
|
|
|
|
|
28
|
|
13
|
1
|
|
|
1
|
|
13
|
use Rex::Commands::File (); |
|
1
|
|
|
|
|
40457
|
|
|
1
|
|
|
|
|
26
|
|
14
|
1
|
|
|
1
|
|
9
|
use Rex::Commands::Fs (); |
|
1
|
|
|
|
|
1
|
|
|
1
|
|
|
|
|
14
|
|
15
|
1
|
|
|
1
|
|
5
|
use Rex::Commands::MD5 (); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
13
|
|
16
|
1
|
|
|
1
|
|
10
|
use Rex::Commands::Network (); |
|
1
|
|
|
|
|
44201
|
|
|
1
|
|
|
|
|
23
|
|
17
|
1
|
|
|
1
|
|
14
|
use Rex::Commands::Notify (); |
|
1
|
|
|
|
|
1050
|
|
|
1
|
|
|
|
|
23
|
|
18
|
1
|
|
|
1
|
|
12
|
use Rex::Commands::Pkg (); |
|
1
|
|
|
|
|
7416
|
|
|
1
|
|
|
|
|
21
|
|
19
|
1
|
|
|
1
|
|
6
|
use Rex::Commands::Run (); |
|
1
|
|
|
|
|
21
|
|
|
1
|
|
|
|
|
15
|
|
20
|
1
|
|
|
1
|
|
9
|
use Rex::Commands::SCM (); |
|
1
|
|
|
|
|
1397
|
|
|
1
|
|
|
|
|
23
|
|
21
|
1
|
|
|
1
|
|
12
|
use Rex::Commands::Service (); |
|
1
|
|
|
|
|
4561
|
|
|
1
|
|
|
|
|
22
|
|
22
|
1
|
|
|
1
|
|
11
|
use Rex::Commands::User (); |
|
1
|
|
|
|
|
4240
|
|
|
1
|
|
|
|
|
21
|
|
23
|
|
|
|
|
|
|
|
24
|
1
|
|
|
1
|
|
13
|
use Sub::Install; |
|
1
|
|
|
|
|
2547
|
|
|
1
|
|
|
|
|
5
|
|
25
|
1
|
|
|
1
|
|
53
|
use Import::Into; |
|
1
|
|
|
|
|
3781
|
|
|
1
|
|
|
|
|
10
|
|
26
|
|
|
|
|
|
|
|
27
|
|
|
|
|
|
|
sub import { |
28
|
2
|
|
|
2
|
|
18
|
my $target = caller; |
29
|
2
|
|
|
|
|
6
|
my $class = shift; |
30
|
|
|
|
|
|
|
|
31
|
2
|
|
|
|
|
6
|
my @flags = grep /^-\w+/, @_; |
32
|
2
|
|
|
|
|
6
|
my %flags = map +($_, 1), map substr($_, 1), @flags; |
33
|
|
|
|
|
|
|
|
34
|
2
|
|
|
|
|
13
|
'strict'->import::into($target); |
35
|
2
|
|
|
|
|
412
|
'warnings'->import::into($target); |
36
|
2
|
|
|
|
|
341
|
'English'->import::into($target, '-no_match_vars'); |
37
|
|
|
|
|
|
|
|
38
|
2
|
|
|
|
|
4286
|
warnings->unimport('once'); |
39
|
2
|
|
|
|
|
24
|
warnings->unimport('experimental'); |
40
|
2
|
|
|
|
|
26
|
warnings->unimport('experimental::signatures'); |
41
|
2
|
|
|
|
|
17
|
warnings->unimport('reserved'); |
42
|
|
|
|
|
|
|
|
43
|
2
|
|
|
|
|
259
|
feature->import(':5.24'); |
44
|
2
|
|
|
|
|
19
|
feature->import('signatures'); |
45
|
2
|
|
|
|
|
40
|
true->import; |
46
|
|
|
|
|
|
|
|
47
|
2
|
|
|
|
|
2542
|
Rex->import::into($target, '-feature' => [qw(no_path_cleanup disable_taskname_warning)]); |
48
|
2
|
|
|
|
|
111123
|
Rex::Commands->import::into($target); |
49
|
2
|
|
|
|
|
1816
|
Rex::Commands::File->import::into($target); |
50
|
2
|
|
|
|
|
705
|
Rex::Commands::Fs->import::into($target); |
51
|
2
|
|
|
|
|
1064
|
Rex::Commands::MD5->import::into($target); |
52
|
2
|
|
|
|
|
444
|
Rex::Commands::Network->import::into($target); |
53
|
2
|
|
|
|
|
577
|
Rex::Commands::Notify->import::into($target); |
54
|
2
|
|
|
|
|
455
|
Rex::Commands::Pkg->import::into($target); |
55
|
2
|
|
|
|
|
614
|
Rex::Commands::Run->import::into($target); |
56
|
2
|
|
|
|
|
475
|
Rex::Commands::SCM->import::into($target); |
57
|
2
|
|
|
|
|
519
|
Rex::Commands::Service->import::into($target); |
58
|
2
|
|
|
|
|
427
|
Rex::Commands::User->import::into($target); |
59
|
2
|
|
|
|
|
699
|
Path::Tiny->import::into($target, qw(path cwd)); |
60
|
|
|
|
|
|
|
|
61
|
2
|
50
|
|
|
|
516
|
if ($flags{tester}) { |
62
|
0
|
|
|
|
|
0
|
Test::More->import::into($target); |
63
|
|
|
|
|
|
|
} |
64
|
|
|
|
|
|
|
|
65
|
|
|
|
|
|
|
# overrides |
66
|
2
|
|
|
|
|
27
|
require 'App/CharmKit.pm'; |
67
|
2
|
|
|
|
|
15
|
'App::CharmKit'->import::into($target); |
68
|
|
|
|
|
|
|
|
69
|
2
|
|
|
|
|
561
|
Sub::Install::install_sub( |
70
|
|
|
|
|
|
|
{ code => 'run', |
71
|
|
|
|
|
|
|
from => 'Rex::Commands::Run', |
72
|
|
|
|
|
|
|
into => $target, |
73
|
|
|
|
|
|
|
as => 'sh', |
74
|
|
|
|
|
|
|
} |
75
|
|
|
|
|
|
|
); |
76
|
|
|
|
|
|
|
} |
77
|
|
|
|
|
|
|
|
78
|
|
|
|
|
|
|
|
79
|
|
|
|
|
|
|
1; |