countperl.1p

Langue: en

Autres versions - même langue

Version: 2010-05-13 (ubuntu - 24/10/10)

Section: 1 (Commandes utilisateur)

NAME

countperl - count lines, packages, subs and complexity of Perl files.

SYNOPSIS

countperl FILE_OR_DIRECTORY [FILE_OR_DIRECTORY ....]

REQUIRED ARGUMENTS

At least one file or directory path must be supplied.

EXIT STATUS

Exits zero on success, non-zero on failure.

DESCRIPTION

countperl uses Perl::Metrics::Simple to examines the named files and recursivesly searches named directories for Perl files.

Perl files are identified by Perl::Metrics::Simple->is_perl_file. Basically if the file ends in ".pl", ".pm", or ".t" or has what appears to be a perl shebang line.

countperl produces a report on STDOUT of counts of total lines, packages, subroutines/methods, the minimum, maximum, mean, standard deviation, and median size and mccabe_complexity (cyclomatic complexity) of subroutines and the 'main' portion of each file (everything not in a subroutine.)

Output Format

Line counts do not include comments nor pod.

The current output format is human-readable text:

     Perl files found:                3
     
     Counts
     ------
     total code lines:       856
     lines of non-sub code:  450
     packages found:           3
     subs/methods:            42
     
     Subroutine/Method Size
     ----------------------
     min:                  3 lines
     max:                  32 lines
     mean:                 9.67 lines
     std. deviation:       7.03
     median:               7.50
     
     McCabe Complexity
     -----------------
     Code not in any subroutine::
     min:                  1
     max                   1
     mean:                 1.00
     std. deviation:       0.00
     median:               1.00
     
     Subroutines/Methods:
     min:                  1
     max:                  5
     avg:                  1.00
     std. deviation:       1.36
     median:               1.00
     
     Tab-delimited list of subroutines, with most complex at top
     -----------------------------------------------------------
     complexity      sub     path    size
     5       is_perl_file    lib/Perl/Metrics/Simple.pm      11
     5       _has_perl_shebang       lib/Perl/Metrics/Simple.pm      13
     5       _init   lib/Perl/Metrics/Simple/Analysis/File.pm        30
     4       find_files      lib/Perl/Metrics/Simple.pm      11
     4       new     lib/Perl/Metrics/Simple/Analysis.pm     10
     4       is_ref  lib/Perl/Metrics/Simple/Analysis.pm     8
 
 

VERSION

This is version 0.031 of countperl.

BUGS AND LIMITATIONS

Bugs No bugs reported yet :-) See: http://rt.cpan.org/NoAuth/Bugs.html?Dist=Perl-Metrics-Simple

Limitations

Does not accept input from STDIN.
No machine-readable report format available (e.g. XML, tab-delimited)

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

DEPENDENCIES

Perl::Metrics::Simple 0.13 (which depends upon PPI.)
Pod::Usage

SEE ALSO

PPI
Perl::Critic
Perl::Metrics
http://en.wikipedia.org/wiki/Cyclomatic_complexity

AUTHOR

     Matisse Enzer
     CPAN ID: MATISSE
     Eigenstate Consulting, LLC
     matisse@eigenstate.net
     http://www.eigenstate.net/
 
 
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.