---
name: "Perl::Critic::Policy::TooMuchCode::ProhibitExtraStricture"
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::ProhibitExtraStricture"
---

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

## NAME

TooMuchCode::ProhibitExtraStricture -- Find unnecessary 'use strict'

## DESCRIPTION

Code stricture is good but that does not mean you always need to put `"use strict"` in your code. Several other modules enable code stricture in the current scope, effectively the same having `"use strict"`

Here's a list of those modules:

```
    Moose
    Mouse
    Moo
    Mo
    Moose::Role
    Mouse::Role
    Moo::Role
    Test2::V0
```

When one of these modules are used, `"use strict"` is considered redundant and is marked as violation by this policy.

### Configuration

The builtin list of stricture modules is obviously not comprehensive. You could extend the list by setting the `"stricture_modules"` in the config.  For example, with the following setting, two modules, `"Foo"` and `"Bar"`, are appended to the list of stricture modules.

```
    [TooMuchCode::ProhibitExtraStricture]
    stricture_modules = Foo Bar
```
