COUNTPERL(1)
π COUNTPERL π
okay bestie, so this is countperl from the User Contributed Perl Documentation crew β a whole little tool that counts your lines, your packages, your subs and your complexity in Perl files. it's giving metrics era and honestly? we're obsessed. β¨
πΈ 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 π«Ά
you gotta give it at least one file or directory path. like, at minimum. it's not gonna read your mind, bestie. π
π OPTIONS π
--helpβ prints the documentation toSTDERR. (not stdout, okay, it's quirky like that π)--htmlβ spits out HTML instead of the plain-text default. glow up your report β¨--jsonβ spits out JSON instead of the plain-text default. for the girlies who pipeline π¦--method-modifiers=a,b,cβ a comma-separated list of method modifiers to be recognised. peepMoose::Manual::MethodModifiersfor the deets. if you don't specify, the default list isbefore,after,around. no cap. π
π§ CONFIGURATION π§
N/A. currently no support for any configuration files. it's lowkey a minimalist, and honestly? respect. π
π EXIT STATUS π
exits zero on success, non-zero on failure. classic. periodt.
π¦ DESCRIPTION π¦
countperl uses Perl::Metrics::Simple to examine the named files and recursivesly search 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 it has what appears to be a perl shebang line β congrats, it's in. π
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.) like it's literally doing the most and we love that for it. π
π Output Format π
line counts do not include comments nor pod. (sorry pod girlies, you're not counted here π)
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 the --html switch, output format is HTML. π
β VERSION β
this is version 0.031 of countperl. she's a specific era, okay? π
π©Ί DIAGNOSTICS π©Ί
prints a usage message to STDERR if required arguments are not provided. basically it will politely (?) tell you that you forgot the files. π
π INCOMPATIBILITIES π
None known. she plays nice. πΈ
π 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 piping your vibes in, sorry π₯²) - 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::Simple0.13(which depends uponPPI.)Pod::Usage
π SEE ALSO π
PPIPerl::CriticPerl::Metricshttp://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.
and that's the whole page, bestie π this was countperl from perl v5.42.0, dated 2025-07-25 β go forth and count your little subs, you absolute main character. π¦β¨π
π¦ where this page comes from
- fedora 43: perl-Perl-Metrics-Simple 1.0.3-6.fc43 Β· GPL-1.0-or-later OR Artistic-1.0-Perl
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms