| Perl::Metrics::Simple::Analysis(3pm) | User Contributed Perl Documentation | Perl::Metrics::Simple::Analysis(3pm) |
NAME¶
Perl::Metrics::Simple::Analysis - Contains anaylsis results.SYNOPSIS¶
This is the class of objects returned by the analyze_files method of the Perl::Metrics::Simple class.Normally you would not create objects of this class directly, instead you get them by calling the analyze_files method on a Perl::Metrics::Simple object.
VERSION¶
This is VERSION 0.1DESCRIPTION¶
USAGE¶
new¶
$analysis = Perl::Metrics::Simple::Analsys->new( \@file_objects )
Takes an arrayref of Perl::Metrics::Simple::Analysis::File objects and returns a new Perl::Metrics::Simple::Analysis object.
data¶
The raw data for the analysis. This is the arrayref you passed as the argument to new();files¶
Arrayref of file paths, in the order they were encountered.file_count¶
How many Perl files were found.lines¶
Total lines in all files, excluding comments and pod.main_stats¶
Returns a hashref of data based the main code in all files, that is, on the code minus all named subroutines. {
lines => 723,
mccabe_complexity => 45
}
file_stats¶
Returns an arrayref of hashrefs, each entry is for one analyzed file, in the order they were encountered. The main_stats slot in the hashref is for all the code in the file outside of any named subroutines. [
{
path => '/path/to/file',
main_stats => {
lines => 23,
mccabe_complexity => 3,
path => '/path/to/file',
name => '{code not in named subroutines}',
},
},
...
]
packages¶
Arrayref of unique packages found in code.package_count¶
How many unique packages found.subs¶
Array ref containing hashrefs of all named subroutines, in the order encounted.Each hashref has the structure:
{
'lines' => 19,
'mccabe_complexity' => 6,
'name' => 'databaseRecords',
'path' => '../path/to/File.pm',
}
sub_count¶
How many subroutines found.summary_stats¶
Returns a data structure of the summary counts for all the files examined: {
sub_length => {
min => $min_sub_length,
max => $max_sub_length,
sorted_values => \@lengths_of_all_subs,
mean => $average_sub_length,
median => $median_sub_length,
standard_deviation => $std_dev_for_sub_lengths,
},
sub_complexity => {
min => $min_sub_complexity,
max => $max_sub_complexity,
sorted_values => \@complexities_of_all_subs,
mean => $average_sub_complexity,
median => $median_sub_complexity,
standard_deviation => $std_dev_for_sub_complexity,
},
main_complexity => {
min => $min_main_complexity,
max => $max_main_complexity,
sorted_values => \@complexities_of_all_subs,
mean => $average_main_complexity,
median => $median_main_complexity,
standard_deviation => $std_dev_for_main_complexity,
},
}
STATIC PACKAGE SUBROUTINES¶
Utility subs used internally, but no harm in exposing them for now. Call these with a fully-qualified package name, e.g.Perl::Metrics::Simple::Analysis::is_ref($thing,'ARRAY')
is_ref¶
Takes a thing and a type. Returns true is thing is a reference of type type, otherwise returns false.BUGS AND LIMITATIONS¶
None reported yet ;-)DEPENDENCIES¶
- Readonly
- Statistics::Basic
SUPPORT¶
Via CPAN:Disussion Forum¶
http://www.cpanforum.com/dist/Perl-Metrics-SimpleBug Reports¶
http://rt.cpan.org/NoAuth/Bugs.html?Dist=Perl-Metrics-SimpleAUTHOR¶
Matisse Enzer
CPAN ID: MATISSE
Eigenstate Consulting, LLC
matisse@eigenstate.net
http://www.eigenstate.net/
LICENSE AND COPYRIGHT¶
Copyright (c) 2006-2009 by Eigenstate Consulting, LLC.This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
The full text of the license can be found in the LICENSE file included with this module.
SEE ALSO¶
perl(1).| 2015-05-30 | perl v5.20.2 |