---
name: "Perl::Critic::Utils::McCabe"
section: "3pm"
platform: "linux"
package: "perl-perl-critic"
version: "1.156-3"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Perl::Critic::Utils::McCabe"
---

# Perl::Critic::Utils::McCabe(3pm)

Functions that calculate the McCabe score of source code.

## NAME

Perl::Critic::Utils::McCabe - Functions that calculate the McCabe score of source code.

## DESCRIPTION

Provides approximations of McCabe scores.  The McCabe score of a set of code describes the number of possible paths through it.  The functions here approximate the McCabe score by summing the number of conditional statements and operators within a set of code.  See \<http://en.wikipedia.org/wiki/Cyclomatic\_complexity\> for some discussion about the McCabe number and other complexity metrics.

## INTERFACE SUPPORT

This is considered to be a public module.  Any changes to its interface will go through a deprecation cycle.

## IMPORTABLE SUBS

- calculate\_mccabe\_of\_sub( $sub )

  Calculates an approximation of the McCabe number of the code in a PPI::Statement::Sub.

- calculate\_mccabe\_of\_main( $doc )

  Calculates an approximation of the McCabe number of all the code in a PPI::Statement::Document that is **not** contained in a subroutine.

## AUTHOR

Jeffrey Ryan Thalhammer \<jeff@imaginative-software.com\>

## COPYRIGHT

Copyright (c) 2005-2011 Imaginative Software Systems.  All rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.  The full text of this license can be found in the LICENSE file included with this module.
