---
name: "Perl::Critic::Policy::NamingConventions::ProhibitMixedCaseSubs"
section: "3pm"
platform: "linux"
package: "libperl-critic-perl"
version: "1.088-1"
release: "Debian 5.0 (Lenny)"
platforms: ["linux"]
url: "https://new.carta.tech/Perl::Critic::Policy::NamingConventions::ProhibitMixedCaseSubs"
---

# Perl::Critic::Policy::NamingConventions::ProhibitMixedCaseSubs(3pm)

Write "sub my\_function{}" instead of "sub MyFunction{}".

## NAME

Perl::Critic::Policy::NamingConventions::ProhibitMixedCaseSubs - Write `"sub my_function{}"` instead of `"sub MyFunction{}"`.

## AFFILIATION

This Policy is part of the core Perl::Critic distribution.

## DESCRIPTION

Conway's recommended naming convention is to use lower-case words separated by underscores.  Well-recognized acronyms can be in ALL CAPS, but must be separated by underscores from other parts of the name.

```
  sub foo_bar{}   #ok
  sub foo_BAR{}   #ok
  sub FOO_bar{}   #ok
  sub FOO_BAR{}   #ok
  sub Some::Class::foo{}   #ok, grudgingly
  sub FooBar {}   #not ok
  sub FOObar {}   #not ok
  sub fooBAR {}   #not ok
  sub fooBar {}   #not ok
```

## CONFIGURATION

This Policy is not configurable except for the standard options.

## SEE ALSO

Perl::Critic::Policy::NamingConventions::ProhibitMixedCaseVars

## AUTHOR

Jeffrey Ryan Thalhammer \<thaljef@cpan.org\>

## COPYRIGHT

Copyright (c) 2005-2008 Jeffrey Ryan Thalhammer.  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.
