---
name: "Perl::Critic::Policy::TooMuchCode::ProhibitExcessiveColons"
section: "3pm"
platform: "linux"
package: "libperl-critic-toomuchcode-perl"
version: "0.19-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Perl::Critic::Policy::TooMuchCode::ProhibitExcessiveColons"
---

# Perl::Critic::Policy::TooMuchCode::ProhibitExcessiveColons(3pm)

Finds '::::::::' in module names.

## NAME

TooMuchCode::ProhibitExcessiveColons - Finds '::::::::' in module names.

## DESCRIPTION

In an include statement, it is possible to have a lot of colons:

```
    use Data::::Dumper;
```

... or

```
    use Data::::::::Dumper;
```

As long as the number of colons is a multiple of two.

However, just because it is doable, does not mean it is sensible. `"use Data::::::Dumper"` will make perl look for `"lib/Data///Dumper.pm"`, which is usually the same as `"lib/Data/Dumper.pm"`.

This policy restrict you to use only two colons to delimit one layer of namespace.
