Man page - countperl(1)

Packages contains this manual

Manual

COUNTPERL

NAME
USAGE
REQUIRED ARGUMENTS
OPTIONS
CONFIGURATION
EXIT STATUS
DESCRIPTION
Output Format
VERSION
DIAGNOSTICS
INCOMPATIBILITIES
BUGS AND LIMITATIONS
Bugs No bugs reported yet :-) See:http://rt.cpan.org/NoAuth/Bugs.html?Dist=Perl-Metrics-Simple
Limitations
SUPPORT
Disussion Forum
Bug Reports
DEPENDENCIES
SEE ALSO
AUTHOR
LICENSE AND COPYRIGHT

NAME

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

USAGE

countperl FILE_OR_DIRECTORY [ FILE_OR_DIRECTORY ...] [--html] [--help] [--method-modifiers=a,b,c]

REQUIRED ARGUMENTS

At least one file or directory path must be supplied.

OPTIONS

--help

Prints documentation to STDERR.

--html

Produces HTML output instead of the plain-text default.

--json

Produces JSON output instead of the plain-text default.

--method-modifiers=a,b,c

A comma-separated list of method modifiers to be recognised, see Moose::Manual::MethodModifiers for details. If unspecified, the default list is before,after,around.

CONFIGURATION

N/A. Currently no support for any configuration files.

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

With --html switch output format is HTML.

VERSION

This is version 0.031 of countperl .

DIAGNOSTICS

Prints usage message to STDERR if required arguments are not provided.

INCOMPATIBILITIES

None known.

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/

LICENSE AND COPYRIGHT

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.