[Chapter 8] 8.133 strict
Author: Ellen Siever, Stephen Spainhour & Nathan Patwardhan
Date: 1999-07-02T01:52:22Z

#

| Chapter 8 Standard Modules |

## 8.133 strict

Pragma for doing strict error checking within the current block. Can be turned off by prefixing with `no`:

>     use strict 'vars';
>     ...
>     no strict 'vars';

Provides three kinds of restriction:

`strict 'refs'`

  Generates runtime error if you use any symbolic references.

`strict 'subs'`

  Generates compile-time error if you use a bareword identifier that's not a predeclared subroutine.

`strict 'vars'`

  Generates compile-time error if you access a variable that wasn't declared via `my`, isn't fully qualified, or wasn't imported.

`use strict` by itself (with no import list) is the most restrictive, causing all possible restrictions to be imposed.

8.132 Socket |  | 8.134 subs