# Perl::Critic::Utils::McCabe

## 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.