-
-
27 Mar 2021 16:01:24 UTC
- Distribution: Perl-Metrics-Simple
- Module version: v1.0.1
- Source (raw)
- Browse (raw)
- Changes
- How to Contribute
- Repository
- Issues (1)
- Testers
- Kwalitee
Bus factor: 1- 65.07% Coverage
- License: perl_5
- Activity
24 month- Tools
- Download (40.61KB)
- MetaCPAN Explorer
- Permissions
- Subscribe to distribution
- Permalinks
- This version
- Latest version
and 1 contributors- matisse@eigenstate.net
- NAME
- SYNOPSIS
- DESCRIPTION
- USAGE
- CLASS METHODS
- OBJECT METHODS
- BUGS AND LIMITATIONS
- SUPPORT
- AUTHOR
- LICENSE AND COPYRIGHT
- SEE ALSO
NAME
Perl::Metrics::Simple - Count packages, subs, lines, etc. of many files.
SYNOPSIS
use Perl::Metrics::Simple; my $analyzer = Perl::Metrics::Simple->new; my $analysis = $analyzer->analyze_files(@paths, @refs_to_file_contents); $file_count = $analysis->file_count; $package_count = $analysis->package_count; $sub_count = $analysis->sub_count; $lines = $analysis->lines; $main_stats = $analysis->main_stats; $file_stats = $analysis->file_stats;
DESCRIPTION
Perl::Metrics::Simple provides just enough methods to run static analysis of one or many Perl files and obtain a few metrics: packages, subroutines, lines of code, and an approximation of cyclomatic (mccabe) complexity for the subroutines and the "main" portion of the code.
Perl::Metrics::Simple is far simpler than Perl::Metrics.
Installs a script called countperl.
USAGE
See the countperl script (included with this distribution) for a simple example of usage.
CLASS METHODS
new
Takes no arguments and returns a new Perl::Metrics::Simple object.
is_perl_file
Takes a path and returns true if the target is a Perl file.
OBJECT METHODS
analyze_files( @paths, @refs_to_file_contents )
Takes an array of files and or directory paths, and/or SCALAR refs to file contents and returns an Perl::Metrics::Simple::Analysis object.
find_files( @directories_and_files )
Uses list_perl_files to find all the readable Perl files and returns a reference to a (possibly empty) list of paths.
list_perl_files
Takes a list of one or more paths and returns an alphabetically sorted list of only the perl files. Uses is_perl_file so may throw an exception if a file is unreadable.
is_perl_file($path)
Takes a path to a file and returns true if the file appears to be a Perl file, otherwise returns false.
If the file name does not match any of @Perl::Metrics::Simple::PERL_FILE_SUFFIXES then the file is opened for reading and the first line examined for a a Perl 'shebang' line. An exception is thrown if the file cannot be opened in this case.
should_be_skipped($path)
Returns true if the path should be skipped when looking for Perl files. Currently skips .svn, CVS, and _darcs directories.
BUGS AND LIMITATIONS
See: http://rt.cpan.org/NoAuth/Bugs.html?Dist=Perl-Metrics-Simple
SUPPORT
Via CPAN:
Disussion Forum
http://www.cpanforum.com/dist/Perl-Metrics-Simple
Bug Reports
http://rt.cpan.org/NoAuth/Bugs.html?Dist=Perl-Metrics-Simple
AUTHOR
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
- The countperl script included with this distribution.
- PPI
- Perl::Critic
- Perl::Metrics
- http://en.wikipedia.org/wiki/Cyclomatic_complexity
Module Install Instructions
To install Perl::Metrics::Simple, copy and paste the appropriate command in to your terminal.
cpanm Perl::Metrics::Simple
perl -MCPAN -e shell install Perl::Metrics::Simple
For more information on module installation, please visit the detailed CPAN module installation guide.