DOKK / manpages / debian 12 / libperl-metrics-simple-perl / countperl.1p.en
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.

Prints documentation to STDERR.
Produces HTML output instead of the plain-text default.
Produces JSON output instead of the plain-text default.
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.

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