COUNTPERL(1p) | User Contributed Perl Documentation | COUNTPERL(1p) |
countperl - count lines, packages, subs and complexity of Perl files.
countperl FILE_OR_DIRECTORY [FILE_OR_DIRECTORY ...] [--html] [--help] [--method-modifiers=a,b,c]
At least one file or directory path must be supplied.
N/A. Currently no support for any configuration files.
Exits zero on success, non-zero on failure.
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.)
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.
This is version 0.031 of countperl.
Prints usage message to STDERR if required arguments are not provided.
None known.
Via CPAN:
http://www.cpanforum.com/dist/Perl-Metrics-Simple
http://rt.cpan.org/NoAuth/Bugs.html?Dist=Perl-Metrics-Simple
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.
2021-08-20 | perl v5.32.1 |