1Perl::Metrics::Simple::UAsnearlyCsoinst(r3i)buted Perl DPoecrulm:e:nMteattriiocns::Simple::Analysis(3)
2
3
4
6 Perl::Metrics::Simple::Analysis - Contains anaylsis results.
7
9 This is the class of objects returned by the analyze_files method of
10 the Perl::Metrics::Simple class.
11
12 Normally you would not create objects of this class directly, instead
13 you get them by calling the analyze_files method on a
14 Perl::Metrics::Simple object.
15
17 This is VERSION 0.1
18
21 new
22 $analysis = Perl::Metrics::Simple::Analsys->new( \@file_objects )
23
24 Takes an arrayref of Perl::Metrics::Simple::Analysis::File objects and
25 returns a new Perl::Metrics::Simple::Analysis object.
26
27 data
28 The raw data for the analysis. This is the arrayref you passed as the
29 argument to new();
30
31 files
32 Arrayref of file paths, in the order they were encountered.
33
34 file_count
35 How many Perl files were found.
36
37 lines
38 Total lines in all files, excluding comments and pod.
39
40 main_stats
41 Returns a hashref of data based the main code in all files, that is, on
42 the code minus all named subroutines.
43
44 {
45 lines => 723,
46 mccabe_complexity => 45
47 }
48
49 file_stats
50 Returns an arrayref of hashrefs, each entry is for one analyzed file,
51 in the order they were encountered. The main_stats slot in the hashref
52 is for all the code in the file outside of any named subroutines.
53
54 [
55 {
56 path => '/path/to/file',
57 main_stats => {
58 lines => 23,
59 mccabe_complexity => 3,
60 path => '/path/to/file',
61 name => '{code not in named subroutines}',
62 },
63 },
64 ...
65 ]
66
67 packages
68 Arrayref of unique packages found in code.
69
70 package_count
71 How many unique packages found.
72
73 subs
74 Array ref containing hashrefs of all named subroutines, in the order
75 encounted.
76
77 Each hashref has the structure:
78
79 {
80 'lines' => 19,
81 'mccabe_complexity' => 6,
82 'name' => 'databaseRecords',
83 'path' => '../path/to/File.pm',
84 }
85
86 sub_count
87 How many subroutines found.
88
89 summary_stats
90 Returns a data structure of the summary counts for all the files
91 examined:
92
93 {
94 sub_length => {
95 min => $min_sub_length,
96 max => $max_sub_length,
97 sorted_values => \@lengths_of_all_subs,
98 mean => $average_sub_length,
99 median => $median_sub_length,
100 standard_deviation => $std_dev_for_sub_lengths,
101 },
102 sub_complexity => {
103 min => $min_sub_complexity,
104 max => $max_sub_complexity,
105 sorted_values => \@complexities_of_all_subs,
106 mean => $average_sub_complexity,
107 median => $median_sub_complexity,
108 standard_deviation => $std_dev_for_sub_complexity,
109 },
110 main_complexity => {
111 min => $min_main_complexity,
112 max => $max_main_complexity,
113 sorted_values => \@complexities_of_all_subs,
114 mean => $average_main_complexity,
115 median => $median_main_complexity,
116 standard_deviation => $std_dev_for_main_complexity,
117 },
118 }
119
121 Utility subs used internally, but no harm in exposing them for now.
122 Call these with a fully-qualified package name, e.g.
123
124 Perl::Metrics::Simple::Analysis::is_ref($thing,'ARRAY')
125
126 is_ref
127 Takes a thing and a type. Returns true is thing is a reference of type
128 type, otherwise returns false.
129
131 None reported yet ;-)
132
134 Readonly
135 Statistics::Basic
136
138 Via CPAN:
139
140 Disussion Forum
141 http://www.cpanforum.com/dist/Perl-Metrics-Simple
142
143 Bug Reports
144 http://rt.cpan.org/NoAuth/Bugs.html?Dist=Perl-Metrics-Simple
145
147 Matisse Enzer
148 CPAN ID: MATISSE
149 Eigenstate Consulting, LLC
150 matisse@eigenstate.net
151 http://www.eigenstate.net/
152
154 Copyright (c) 2006-2009 by Eigenstate Consulting, LLC.
155
156 This program is free software; you can redistribute it and/or modify it
157 under the same terms as Perl itself.
158
159 The full text of the license can be found in the LICENSE file included
160 with this module.
161
163 perl(1).
164
165
166
167perl v5.34.0 2021-07-22Perl::Metrics::Simple::Analysis(3)